﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ПроцедурыРасчетаБазыРаспределенияЗатрат
	{
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПОДГОТОВКИ ВРЕМЕННОЙ ТАБЛИЦЫ ПО ЗАТРАТАМ НА ВЫПУСК
		// Процедура формирования временной таблицы "АналитикаВидаУчетаЗатратыНаВыпуск".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СтруктураПараметров – Структура - Структура параметров способа распределения
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц
		//

		public void СформироватьВременнуюТаблицуАналитикаВидаУчетаЗатратыНаВыпуск(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	МенеджерВременныхТаблиц
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ
	|	РегистрАналитикаВидаУчета.РазделУчета,
	|	РегистрАналитикаВидаУчета.Подразделение,
	|	РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрАналитикаВидаУчета.СчетУчета,
	|	РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|	РегистрАналитикаВидаУчета.Ссылка
	|
	|ПОМЕСТИТЬ АналитикаВидаУчетаЗатратыНаВыпуск%СуффиксУчета%
	|ИЗ
	|	РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|ГДЕ
	|	(РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыНаВыпуск)
	|	ИЛИ РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыПоНаработке))
	|	//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
		}
		// СформироватьВременнуюТаблицуАналитикаВидаУчетаВыпуск()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПОДГОТОВКИ ВРЕМЕННОЙ ТАБЛИЦЫ ПО ЗАТРАТАМ НА ВЫПУСК
		// Функция формирования запроса для базы распределения по затратам на выпуск продукции.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаЗатратыНаВыпускРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|
	|	УчетЗатрат.КорАналитикаВидаУчета,
	|	УчетЗатрат.КорАналитикаУчетаЗатрат,
	|	УчетЗатрат.КорАналитикаУчетаПартий,
	|	УчетЗатрат.КорАналитикаРаспределенияЗатрат,
	|
	|	//ДляРеглУчета СУММА(УчетЗатрат.СтоимостьНУ) КАК СтоимостьНУ,
	|	//ДляРеглУчета 0 КАК ВременнаяРазница,
	|	//ДляРеглУчета СУММА(УчетЗатрат.ПостояннаяРазница) КАК ПостояннаяРазница,
	|	СУММА(УчетЗатрат.Количество) КАК Количество,
	|	СУММА(УчетЗатрат.Стоимость) КАК Стоимость
	|
	|ПОМЕСТИТЬ ЗатратыНаВыпуск%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл% КАК УчетЗатрат
	|ГДЕ
	|	УчетЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|	И УчетЗатрат.Активность
	|	И УчетЗатрат.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
	|	И УчетЗатрат.АналитикаВидаУчета В (
	|		ВЫБРАТЬ
	|			РегистрАналитикаВидаУчета.Ссылка
	|		ИЗ
	|			АналитикаВидаУчетаЗатратыНаВыпуск%СуффиксУчета% КАК РегистрАналитикаВидаУчета
	|	)
	|
	|СГРУППИРОВАТЬ ПО
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|
	|	УчетЗатрат.КорАналитикаВидаУчета,
	|	УчетЗатрат.КорАналитикаУчетаЗатрат,
	|	УчетЗатрат.КорАналитикаУчетаПартий,
	|	УчетЗатрат.КорАналитикаРаспределенияЗатрат
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаЗатратыНаВыпускРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по затратам на выпуск продукции.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаЗатратыНаВыпуск(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Подразделение,
	|	
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП <>
	|		//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) 
	|		//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) 
	|	ТОГДА
	|		ЗатратыНаВыпуск.ПодразделениеНЗП
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.Подразделение
	|	КОНЕЦ КАК ПодразделениеНЗП,
	|	
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Заказ,
	|	ЗатратыНаВыпуск.Спецификация,
	|	ЗатратыНаВыпуск.КодОперации,
	|
	|	СУММА(ЗатратыНаВыпуск.Количество) КАК Количество,
	|	//ДляНалУчета СУММА(ЗатратыНаВыпуск.ВременнаяРазница) КАК ВременнаяРазница,
	|	//ДляНалУчета СУММА(ЗатратыНаВыпуск.ПостояннаяРазница) КАК ПостояннаяРазница,
	|	СУММА(ЗатратыНаВыпуск.Сумма) КАК Сумма,
	|	
	|	СУММА(	
	|		ЗатратыНаВыпуск.Количество -
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты) ТОГДА
	|			ЗатратыНаВыпуск.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|	) КАК КоличествоРасход,
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ЗатратыНаВыпуск.ВременнаяРазница -
	|	//ДляНалУчета 	ВЫБОР КОГДА ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты) ТОГДА
	|	//ДляНалУчета 		ЗатратыНаВыпуск.ВременнаяРазница
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		0
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК ВременнаяРазницаРасход,
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ЗатратыНаВыпуск.ПостояннаяРазница -
	|	//ДляНалУчета 	ВЫБОР КОГДА ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты) ТОГДА
	|	//ДляНалУчета 		ЗатратыНаВыпуск.ПостояннаяРазница
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		0
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК ПостояннаяРазницаРасход,
	|	СУММА(
	|		ЗатратыНаВыпуск.Сумма -
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты) ТОГДА
	|			ЗатратыНаВыпуск.Сумма
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|	) КАК СуммаРасход
	|
	|ПОМЕСТИТЬ ЗатратыНаВыпуск%СуффиксУчета%
	|
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|
	|ГДЕ
	|	ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|	И Не ЗатратыНаВыпуск.Затрата Ссылка Перечисление.ХарактерЗатрат
	|	//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	ЗатратыНаВыпуск.Подразделение,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация,
	|	ЗатратыНаВыпуск.Заказ,
	|    
	|    ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП <>
	|		//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) 
	|		//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) 
	|	ТОГДА
	|		ЗатратыНаВыпуск.ПодразделениеНЗП
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.Подразделение
	|	КОНЕЦ,
	|	
	|	ЗатратыНаВыпуск.КодОперации
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП <>
	|		//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) 
	|		//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) 
	|	ТОГДА
	|		ЗатратыНаВыпуск.ПодразделениеНЗП
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.Подразделение
	|	КОНЕЦ КАК ПодразделениеНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	Неопределено, // СерияПродукции,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Заказ,
	|	Неопределено, // Спецификация,
	|	ЗатратыНаВыпуск.КодОперации,
	|	
	|	СУММА(
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА
	|			ЗатратыНаВыпуск.Количество
	|		ИНАЧЕ
	|			-ЗатратыНаВыпуск.Количество
	|		КОНЕЦ
	|	) КАК Количество,
	|	//ДляНалУчета 0 КАК ВременнаяРазница,
	|	//ДляНалУчета 0 КАК ПостояннаяРазница,
	|	СУММА(
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА
	|			ЗатратыНаВыпуск.Сумма
	|		ИНАЧЕ
	|			-ЗатратыНаВыпуск.Сумма
	|		КОНЕЦ
	|	) КАК Сумма,
	|	0 КАК КоличествоРасход,
	|	//ДляНалУчета 0 КАК ВременнаяРазницаРасход,
	|	//ДляНалУчета 0 КАК ПостояннаяРазницаРасход,
	|	0 КАК СуммаРасход
	|
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукцииНаработка%СуффиксУчета% КАК ЗатратыНаВыпуск
	|
	|ГДЕ
	|	ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|	//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	ЗатратыНаВыпуск.Подразделение,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.Заказ,
	|	
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП <>
	|		//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) 
	|		//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) 
	|	ТОГДА
	|		ЗатратыНаВыпуск.ПодразделениеНЗП
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.Подразделение
	|	КОНЕЦ,
	|	
	|	ЗатратыНаВыпуск.КодОперации
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаЗатратыНаВыпуск()
		// Функция формирования запроса для базы распределения по затратам на выпуск продукции.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазыРаспределенияПоЗатратамНаВыпускМежд(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Подразделение,
	|	
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП <>
	|		//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) 
	|		//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) 
	|	ТОГДА
	|		ЗатратыНаВыпуск.ПодразделениеНЗП
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.Подразделение
	|	КОНЕЦ КАК ПодразделениеНЗП,
	|	
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|	
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Заказ,
	|	ЗатратыНаВыпуск.Спецификация,
	|	ЗатратыНаВыпуск.КодОперации,
	|
	|	СУММА(ЗатратыНаВыпуск.Количество) КАК Количество,
	|	//ДляНалУчета СУММА(ЗатратыНаВыпуск.ВременнаяРазница) КАК ВременнаяРазница,
	|	//ДляНалУчета СУММА(ЗатратыНаВыпуск.ПостояннаяРазница) КАК ПостояннаяРазница,
	|	СУММА(ЗатратыНаВыпуск.Сумма) КАК Сумма,
	|	
	|	СУММА(	
	|		ЗатратыНаВыпуск.Количество -
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты) ТОГДА
	|			ЗатратыНаВыпуск.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|	) КАК КоличествоРасход,
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ЗатратыНаВыпуск.ВременнаяРазница -
	|	//ДляНалУчета 	ВЫБОР КОГДА ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты) ТОГДА
	|	//ДляНалУчета 		ЗатратыНаВыпуск.ВременнаяРазница
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		0
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК ВременнаяРазницаРасход,
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ЗатратыНаВыпуск.ПостояннаяРазница -
	|	//ДляНалУчета 	ВЫБОР КОГДА ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты) ТОГДА
	|	//ДляНалУчета 		ЗатратыНаВыпуск.ПостояннаяРазница
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		0
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК ПостояннаяРазницаРасход,
	|	СУММА(
	|		ЗатратыНаВыпуск.Сумма -
	|		ВЫБОР КОГДА ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты) ТОГДА
	|			ЗатратыНаВыпуск.Сумма
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|	) КАК СуммаРасход
	|
	|ПОМЕСТИТЬ ЗатратыНаВыпуск%СуффиксУчета%
	|
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|
	|ГДЕ
	|	ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|	И Не ЗатратыНаВыпуск.Затрата Ссылка Перечисление.ХарактерЗатрат
	|	//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	ЗатратыНаВыпуск.Подразделение,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация,
	|	ЗатратыНаВыпуск.Заказ,
	|    
	|    ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.Затрата,
	|	ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|	ЗатратыНаВыпуск.СерияЗатраты,
	|
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|	
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.ПодразделениеНЗП <>
	|		//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) 
	|		//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) 
	|	ТОГДА
	|		ЗатратыНаВыпуск.ПодразделениеНЗП
	|	ИНАЧЕ
	|		ЗатратыНаВыпуск.Подразделение
	|	КОНЕЦ,
	|	
	|	ЗатратыНаВыпуск.КодОперации
	|
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаРаспределенияПоЗатратамНаВыпускМежд()
		// Процедура устанавливает параметры запроса по затратам на выпуск продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	Запрос - Запрос.
		//

		public void УстановитьПараметрыЗапросаБазыРаспределенияПоЗатратамНаВыпуск(/*
	СтруктураШапкиДокумента, 
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//МассивКодыОперацийПрямыеЗатраты = Новый Массив;
			//МассивКодыОперацийПрямыеЗатраты.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты);
			//МассивКодыОперацийПрямыеЗатраты.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты);
			//Запрос.УстановитьПараметр("МассивКодыОперацийПрямыеЗатраты", МассивКодыОперацийПрямыеЗатраты);
		}
		// УстановитьПараметрыЗапросаБазыРаспределенияПоЗатратамНаВыпуск()
		// Процедура формирует временную таблицу "Затраты на выпуск".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СтруктураПараметров – Структура - Структура параметров способа распределения
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//

		public void СформироватьВременнуюТаблицуЗатратыНаВыпуск(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	МенеджерВременныхТаблиц
	*/)
		{
			if(true/*СтруктураШапкиДокумента.ОтражатьВМеждународномУчете*/)
			{
				//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаБазыРаспределенияПоЗатратамНаВыпускМежд();
			}
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
		}
		// СформироватьВременнуюТаблицуЗатратыНаВыпуск()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПОДГОТОВКИ ВРЕМЕННОЙ ТАБЛИЦЫ ПО ВЫПУСКУ ПРОДУКЦИИ
		// Функция формирования запроса для базы распределения по выпуску продукции.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаВыпускПродукцииРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаВидаУчета КАК АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат КАК АналитикаРаспределенияЗатрат,
	|
	|	//ДляРеглУчета УчетЗатрат.СтоимостьНУНачальныйОстаток,
	|	//ДляРеглУчета УчетЗатрат.СтоимостьНУПриход,
	|	//ДляРеглУчета УчетЗатрат.ПостояннаяРазницаНачальныйОстаток,
	|	//ДляРеглУчета УчетЗатрат.ПостояннаяРазницаПриход,
	|
	|	УчетЗатрат.КоличествоНачальныйОстаток,
	|	УчетЗатрат.КоличествоПриход,
	|	УчетЗатрат.СтоимостьНачальныйОстаток,
	|	УчетЗатрат.СтоимостьПриход
	|
	|ПОМЕСТИТЬ УчетЗатратОстаткиИОбороты
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл%.ОстаткиИОбороты(&НачГраница, &КонГраница, Период,,
	|		АналитикаВидаУчета В (
	|			ВЫБРАТЬ
	|				РегистрАналитикаВидаУчета.Ссылка
	|			ИЗ
	|				РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|			ГДЕ
	|				(РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Выпуск)
	|				ИЛИ РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Наработка))
	|				//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|		)
	|	) КАК УчетЗатрат
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	АналитикаВидаУчета,
	|	АналитикаУчетаПартий,
	|	АналитикаРаспределенияЗатрат
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаВидаУчета КАК АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат КАК АналитикаРаспределенияЗатрат,
	|	МАКСИМУМ(УчетЗатрат.ВариантВыпускаПродукции) КАК ВариантВыпускаПродукции
	|
	|ПОМЕСТИТЬ ВариантыВыпускаПродукции
	|ИЗ (
	|	ВЫБРАТЬ РАЗЛИЧНЫЕ
	|		УчетЗатрат.АналитикаВидаУчета КАК АналитикаВидаУчета,
	|		УчетЗатрат.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
	|		УчетЗатрат.АналитикаРаспределенияЗатрат КАК АналитикаРаспределенияЗатрат,
	|	
	|		ВЫБОР КОГДА ВЫРАЗИТЬ(РегистрАналитикаУчетаПартий.Заказ КАК Документ.ЗаказПокупателя).ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.Переработка)
	|		ТОГДА
	|			ЗНАЧЕНИЕ(Перечисление.ВариантыВыпускаПродукции.ПродукцияИзДавальческогоСырья)
	|			
	|		КОГДА УчетЗатрат.Регистратор ССЫЛКА Документ.ПоступлениеТоваровИзПереработки ТОГДА
	|			ЗНАЧЕНИЕ(Перечисление.ВариантыВыпускаПродукции.ПродукцияСтороннегоПереработчика)
	|			
	|		КОГДА УчетЗатрат.Регистратор ССЫЛКА Документ.КомплектацияНоменклатуры
	|			И ВЫРАЗИТЬ(УчетЗатрат.Регистратор КАК Документ.КомплектацияНоменклатуры).ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийКомплектацияНоменклатуры.ПоступлениеОтПереработчика)
	|		ТОГДА
	|			ЗНАЧЕНИЕ(Перечисление.ВариантыВыпускаПродукции.ПродукцияСтороннегоПереработчика)
	|			
	|		ИНАЧЕ
	|			ЗНАЧЕНИЕ(Перечисление.ВариантыВыпускаПродукции.СобственнаяПродукция)
	|			
	|		КОНЕЦ КАК ВариантВыпускаПродукции
	|	ИЗ
	|		РегистрНакопления.УчетЗатрат%СуффиксРегл% КАК УчетЗатрат
	|	
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|		ПО
	|			УчетЗатрат.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|	ГДЕ
	|		УчетЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|		И УчетЗатрат.Активность
	|		И УчетЗатрат.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
	|		И Не УчетЗатрат.Регистратор ССЫЛКА Документ.РасчетСебестоимостиВыпуска
	|		И УчетЗатрат.АналитикаВидаУчета В (
	|			ВЫБРАТЬ
	|				РегистрАналитикаВидаУчета.Ссылка
	|			ИЗ
	|				РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|			ГДЕ
	|				РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Выпуск)
	|				//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|		)
	|
	|	ОБЪЕДИНИТЬ ВСЕ
	|
	|	ВЫБРАТЬ РАЗЛИЧНЫЕ
	|		УчетЗатрат.АналитикаВидаУчета КАК АналитикаВидаУчета,
	|		УчетЗатрат.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
	|		УчетЗатрат.АналитикаРаспределенияЗатрат КАК АналитикаРаспределенияЗатрат,
	|	
	|		ВЫБОР КОГДА ВЫРАЗИТЬ(РегистрАналитикаУчетаПартий.Заказ КАК Документ.ЗаказПокупателя).ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.Переработка)
	|		ТОГДА
	|			ЗНАЧЕНИЕ(Перечисление.ВариантыВыпускаПродукции.ПродукцияИзДавальческогоСырья)
	|		ИНАЧЕ
	|			ЗНАЧЕНИЕ(Перечисление.ВариантыВыпускаПродукции.СобственнаяПродукция)
	|		КОНЕЦ КАК ВариантВыпускаПродукции
	|	
	|	ИЗ
	|		УчетЗатратОстаткиИОбороты КАК УчетЗатрат
	|
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|		ПО
	|			УчетЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка	
	|	
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|			РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|		ПО
	|			УчетЗатрат.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка	
	|	ГДЕ
	|		РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Наработка)
	|
	|	) КАК УчетЗатрат
	|
	|СГРУППИРОВАТЬ ПО
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	АналитикаВидаУчета,
	|	АналитикаУчетаПартий,
	|	АналитикаРаспределенияЗатрат
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|	
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	
	|	ЕСТЬNULL(ВариантыВыпускаПродукции.ВариантВыпускаПродукции, Неопределено) КАК ВариантВыпускаПродукции,
	|	
	|	//ДляРеглУчета УчетЗатрат.СтоимостьНУНачальныйОстаток + УчетЗатрат.СтоимостьНУПриход КАК СтоимостьНУ,
	|	//ДляРеглУчета 0 КАК ВременнаяРазница,
	|	//ДляРеглУчета УчетЗатрат.ПостояннаяРазницаНачальныйОстаток + УчетЗатрат.ПостояннаяРазницаПриход КАК ПостояннаяРазница,
	|	
	|	ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Наработка) ТОГДА
	|		УчетЗатрат.КоличествоНачальныйОстаток
	|		+ УчетЗатрат.КоличествоПриход
	|	ИНАЧЕ
	|		 УчетЗатрат.КоличествоПриход
	|	КОНЕЦ КАК Количество,
	|
	|	ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Наработка) ТОГДА
	|		УчетЗатрат.СтоимостьНачальныйОстаток
	|		+ УчетЗатрат.СтоимостьПриход
	|	ИНАЧЕ
	|		УчетЗатрат.СтоимостьПриход
	|	КОНЕЦ КАК Сумма
	|	
	|ПОМЕСТИТЬ ВыпускПродукции%СуффиксУчета%
	|
	|ИЗ
	|	УчетЗатратОстаткиИОбороты КАК УчетЗатрат
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ВариантыВыпускаПродукции КАК ВариантыВыпускаПродукции
	|	ПО
	|		УчетЗатрат.АналитикаВидаУчета = ВариантыВыпускаПродукции.АналитикаВидаУчета
	|		И УчетЗатрат.АналитикаРаспределенияЗатрат = ВариантыВыпускаПродукции.АналитикаРаспределенияЗатрат
	|		И УчетЗатрат.АналитикаУчетаПартий = ВариантыВыпускаПродукции.АналитикаУчетаПартий
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|	ПО
	|		УчетЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		УчетЗатрат.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ ВариантыВыпускаПродукции
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ УчетЗатратОстаткиИОбороты
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаВыпускПродукцииРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по выпуску продукции.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаВыпускПродукции(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.КодОперации,
	|	
	|	СУММА(
	|		ВЫБОР КОГДА ВыпускПродукции.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА
	|			ВыпускПродукции.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|	) КАК Количество
	|	
	|ПОМЕСТИТЬ ВыпускПродукцииНаработка
	|ИЗ
	|	РегистрНакопления.ВыпускПродукцииНаработка%СуффиксУчета% КАК ВыпускПродукции
	|
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	ВыпускПродукции.Подразделение,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.Заказ,
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.КодОперации
	|	
	|ИМЕЮЩИЕ
	|	СУММА(
	|		ВЫБОР КОГДА ВыпускПродукции.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) ТОГДА
	|			ВыпускПродукции.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|	) > 0	
	|	
	|;
	|///////////////////////////////////////////////////////////////////////////////	
    |
	|ВЫБРАТЬ
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.КодОперации,
	|	
	|	СУММА(ВыпускПродукции.Количество) КАК Количество
	|	
	|ПОМЕСТИТЬ ВыпускПродукции%СуффиксУчета%
	|
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	И Не ВыпускПродукции.КодОперации В (&ИсключаемыеКодыОпераций)
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|    
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.КодОперации
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	//ДляРеглУчета ВыпускПродукцииОстатки.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукцииОстатки.Подразделение,
	|	ВыпускПродукцииОстатки.Продукция,
	|	ВыпускПродукцииОстатки.ХарактеристикаПродукции,
	|	ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК СерияПродукции,
	|	ВыпускПродукцииОстатки.НоменклатурнаяГруппа,
	|	ВыпускПродукцииОстатки.Заказ,
	|	Неопределено КАК Спецификация,
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.КодОперации,
	|	
	|	ВЫБОР КОГДА МАКСИМУМ(ВыпускПродукцииОстатки.КоличествоПриход) <> 0 ТОГДА
	|		МАКСИМУМ(ВыпускПродукцииОстатки.КоличествоКонечныйОстаток)
	|			* СУММА(ВыпускПродукции.Количество)
	|			/ МАКСИМУМ(ВыпускПродукцииОстатки.КоличествоПриход)
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК Количество
	|	
	|ИЗ
	|	РегистрНакопления.ВыпускПродукцииНаработка%СуффиксУчета%.ОстаткиИОбороты(&НачГраница, &КонГраница, Период,,
	|		//ДляРеглУчета Организация = &Организация
	|	) КАК ВыпускПродукцииОстатки
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		ВыпускПродукцииНаработка КАК ВыпускПродукции
	|	ПО
	|		ВыпускПродукцииОстатки.Подразделение = ВыпускПродукции.Подразделение
	|		И ВыпускПродукцииОстатки.Продукция = ВыпускПродукции.Продукция
	|		И ВыпускПродукцииОстатки.ХарактеристикаПродукции = ВыпускПродукции.ХарактеристикаПродукции
	|		И ВыпускПродукцииОстатки.НоменклатурнаяГруппа = ВыпускПродукции.НоменклатурнаяГруппа
	|		И ВыпускПродукцииОстатки.Заказ = ВыпускПродукции.Заказ
	|
	|ГДЕ
	|	ВыпускПродукцииОстатки.КоличествоКонечныйОстаток > 0
	|	
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукцииОстатки.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукцииОстатки.Подразделение,
	|	ВыпускПродукцииОстатки.НоменклатурнаяГруппа,
	|	ВыпускПродукцииОстатки.Продукция,
	|	ВыпускПродукцииОстатки.ХарактеристикаПродукции,
	|	ВыпускПродукцииОстатки.Заказ,
	|    
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.КодОперации
	|;
	|///////////////////////////////////////////////////////////////////////////////	
	|УНИЧТОЖИТЬ ВыпускПродукцииНаработка
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаВыпускПродукции()
		// Функция формирования запроса для базы распределения по выпуску продукции.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазыРаспределенияПоВыпускуПродукцииМежд(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.КодОперации,
	|	
	|	СУММА(ВыпускПродукции.Количество) КАК Количество
	|	
	|ПОМЕСТИТЬ ВыпускПродукции%СуффиксУчета%
	|
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|
	|ГДЕ
	|	ВыпускПродукции.Период МЕЖДУ &НачДата И &КонДата
	|	И Не ВыпускПродукции.КодОперации В (&ИсключаемыеКодыОпераций)
	|	//ДляРеглУчета И ВыпускПродукции.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	ВыпускПродукции.Подразделение,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	ВыпускПродукции.Заказ,
	|    
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВыпускПродукции.КодОперации
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазыРаспределенияПоВыпускуПродукцииМежд()
		// Процедура устанавливает параметры запроса по выпуску продукции.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	Запрос - Запрос.
		//

		public void УстановитьПараметрыЗапросаБазыРаспределенияПоВыпускуПродукции(/*
	СтруктураШапкиДокумента, 
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//МассивИсключаемыхКодовОпераций = Новый Массив;
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//Запрос.УстановитьПараметр("ИсключаемыеКодыОпераций", МассивИсключаемыхКодовОпераций);
		}
		// УстановитьПараметрыЗапросаБазыРаспределенияПоВыпускуПродукции()
		// Процедура формирует временную таблицу "Выпуск продукции".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СтруктураПараметров – Структура - Структура параметров способа распределения
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//

		public void СформироватьВременнуюТаблицуВыпускПродукции(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	МенеджерВременныхТаблиц
	*/)
		{
			/*// Формирование текста запроса для временной таблицы "ВыпускПродукции".
*/
			if(true/*СтруктураШапкиДокумента.ОтражатьВМеждународномУчете*/)
			{
				//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаБазыРаспределенияПоВыпускуПродукцииМежд();
			}
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
		}
		// СформироватьВременнуюТаблицуВыпускПродукции()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПОДГОТОВКИ ВРЕМЕННОЙ ТАБЛИЦЫ ПО НЕЗАВЕРШЕННОМУ ПРОИЗВОДСТВУ
		// Функция формирования запроса для базы распределения по выпуску продукции.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаНезавершенноеПроизводствоРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|
	|	//ДляРеглУчета 0 КАК ВременнаяРазницаПриход,
	|	//ДляРеглУчета УчетЗатрат.ПостояннаяРазницаПриход,
	|	//ДляРеглУчета 0 КАК ВременнаяРазницаОстаток,
	|	//ДляРеглУчета УчетЗатрат.ПостояннаяРазницаКонечныйОстаток КАК ПостояннаяРазницаОстаток,
	|	//ДляРеглУчета 0 КАК ВременнаяРазницаКонечныйОстаток,
	|	//ДляРеглУчета УчетЗатрат.ПостояннаяРазницаКонечныйОстаток,
	|	УчетЗатрат.СтоимостьПриход,
	|	УчетЗатрат.СтоимостьКонечныйОстаток КАК СтоимостьОстаток,
	|
	|	ВЫБОР КОГДА РаспределяемыеСтатьиЗатрат.Распределяемая ЕСТЬ NULL
	|		И РегистрАналитикаУчетаЗатрат.СпособРаспределенияЗатрат = ЗНАЧЕНИЕ(Справочник.СпособыРаспределенияЗатратНаВыпуск.ПустаяСсылка)
	|	ТОГДА
	|		УчетЗатрат.СтоимостьКонечныйОстаток
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК СтоимостьКонечныйОстаток,
	|	
	|	УчетЗатрат.КоличествоПриход,
	|	УчетЗатрат.КоличествоКонечныйОстаток КАК КоличествоОстаток,
	|
	|	ВЫБОР КОГДА РаспределяемыеСтатьиЗатрат.Распределяемая ЕСТЬ NULL
	|		И РегистрАналитикаУчетаЗатрат.СпособРаспределенияЗатрат = ЗНАЧЕНИЕ(Справочник.СпособыРаспределенияЗатратНаВыпуск.ПустаяСсылка)
	|	ТОГДА
	|		УчетЗатрат.КоличествоКонечныйОстаток
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК КоличествоКонечныйОстаток
	|	
	|ПОМЕСТИТЬ НезавершенноеПроизводство%СуффиксУчета%
	|
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл%.ОстаткиИОбороты(&НачГраница, &КонГраница, Период,,
	|		АналитикаВидаУчета В (
	|			ВЫБРАТЬ
	|				РегистрАналитикаВидаУчета.Ссылка
	|			ИЗ
	|				РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|			ГДЕ
	|				РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Затраты)
	|				//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|				//ДляРеглУчета И (СчетУчетаНУ В (&МассивСчетовНУ) ИЛИ &УСН)
	|		)
	|		И АналитикаУчетаЗатрат В (
	|			ВЫБРАТЬ
	|				РегистрАналитикаУчетаЗатрат.Ссылка
	|			ИЗ
	|				РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|			ГДЕ
	|				РегистрАналитикаУчетаЗатрат.ХарактерЗатрат = ЗНАЧЕНИЕ(Перечисление.ХарактерЗатрат.ПроизводственныеРасходы)
	|		)
	|	) КАК УчетЗатрат
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|	ПО
	|   	УчетЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|	ПО
	|   	УчетЗатрат.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			//ДляРеглУчета СчетЗатрат,
	|			Подразделение,
	|			СтатьяЗатрат,
	|			СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|			Истина КАК Распределяемая
	|		ИЗ
	|			РаспределяемыеСтатьиЗатрат%СуффиксУчета%
	|		ГДЕ
	|			Не НеРаспределять
	|			И ХарактерРаспределенияЗатрат В (&МассивХарактеровРаспределения)
	|		) РаспределяемыеСтатьиЗатрат
	|	ПО 
	|		РегистрАналитикаУчетаЗатрат.СтатьяЗатрат = РаспределяемыеСтатьиЗатрат.СтатьяЗатрат
	|		//ДляУпрУчета И РегистрАналитикаВидаУчета.Подразделение = РаспределяемыеСтатьиЗатрат.Подразделение
	|		//ДляРеглУчета И РегистрАналитикаВидаУчета.ПодразделениеОрганизации = РаспределяемыеСтатьиЗатрат.Подразделение
	|		//ДляРеглУчета И (РегистрАналитикаВидаУчета.СчетУчета = РаспределяемыеСтатьиЗатрат.СчетЗатрат
	|		//ДляРеглУчета	ИЛИ РаспределяемыеСтатьиЗатрат.СтатусМатериальныхЗатрат =
	|		//ДляРеглУчета			ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку))
	|			
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаНезавершенноеПроизводствоРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по незавершенному производству.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаНезавершенноеПроизводство(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|
	|	МАКСИМУМ(ЗатратыНаВыпуск.Количество) 			КАК Количество,
	|	МАКСИМУМ(ЗатратыНаВыпускВсего.Количество) 		КАК КоличествоВсего,
	|	МАКСИМУМ(ЗатратыНаВыпуск.Сумма) 				КАК Сумма,
	|	МАКСИМУМ(ЗатратыНаВыпускВсего.Сумма) 			КАК СуммаВсего
	|
	|ПОМЕСТИТЬ ИсключаемыеЗатраты
	|ИЗ (
	|	ВЫБРАТЬ
	|		//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|		ЗатратыНаВыпуск.Подразделение,
	|		ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|		ЗатратыНаВыпуск.ЗаказНЗП,
	|		ЗатратыНаВыпуск.СтатьяЗатрат,
	|		СУММА(ЗатратыНаВыпуск.Количество) КАК Количество,
	|		СУММА(ЗатратыНаВыпуск.Сумма) КАК Сумма
	|	ИЗ
	|		РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|
	|		ЛЕВОЕ СОЕДИНЕНИЕ (
	|			ВЫБРАТЬ
	|				ИсключаемаяНоменклатура.Номенклатура,
	|				ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры,
	|				ИсключаемаяНоменклатура.СерияНоменклатуры,
	|				Истина КАК ЕстьИсключаемаяНоменклатура
	|			ИЗ
	|				РегистрСведений.НоменклатураИсключаемаяИзБазыРаспределения%СуффиксОрганизаций% КАК ИсключаемаяНоменклатура
	|			ГДЕ
	|				ИсключаемаяНоменклатура.Период МЕЖДУ &НачДата И &КонДата
	|				И &РаспределениеКосвенныхЗатрат
	|				//ДляРеглУчета И ИсключаемаяНоменклатура.Организация = &Организация
	|			) КАК ИсключаемаяНоменклатура
	|		ПО
	|			ЗатратыНаВыпуск.Продукция               	= ИсключаемаяНоменклатура.Номенклатура
	|			И ЗатратыНаВыпуск.ХарактеристикаПродукции 	= ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры
	|			И ЗатратыНаВыпуск.СерияПродукции 			= ИсключаемаяНоменклатура.СерияНоменклатуры
	|
	|	ГДЕ
	|		ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|		И &РаспределениеКосвенныхЗатрат
	|		И ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты)
	|		И Не ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура ЕСТЬ NULL
	|		//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|
	|	СГРУППИРОВАТЬ ПО
	|		//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|		ЗатратыНаВыпуск.Подразделение,
	|		ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|		ЗатратыНаВыпуск.ЗаказНЗП,
	|		ЗатратыНаВыпуск.СтатьяЗатрат
	|
	|	) КАК ЗатратыНаВыпуск
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|			ЗатратыНаВыпуск.Подразделение,
	|			ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|			ЗатратыНаВыпуск.ЗаказНЗП,
	|			ЗатратыНаВыпуск.СтатьяЗатрат,
	|			СУММА(ЗатратыНаВыпуск.Количество) КАК Количество,
	|			СУММА(ЗатратыНаВыпуск.Сумма) КАК Сумма
	|		ИЗ
	|			РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск
	|		ГДЕ
	|			ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
	|			И &РаспределениеКосвенныхЗатрат
	|			И ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты)
	|			//ДляРеглУчета И ЗатратыНаВыпуск.Организация = &Организация
	|			
	|		СГРУППИРОВАТЬ ПО
	|			//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|			ЗатратыНаВыпуск.Подразделение,
	|			ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|			ЗатратыНаВыпуск.ЗаказНЗП,
	|			ЗатратыНаВыпуск.СтатьяЗатрат
	|
	|		) КАК ЗатратыНаВыпускВсего
	|	ПО
	|		ЗатратыНаВыпуск.Подразделение = ЗатратыНаВыпускВсего.Подразделение
	|		И ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП = ЗатратыНаВыпускВсего.НоменклатурнаяГруппаНЗП
	|		И ЗатратыНаВыпуск.СтатьяЗатрат = ЗатратыНаВыпускВсего.СтатьяЗатрат
	|		И ЗатратыНаВыпуск.ЗаказНЗП = ЗатратыНаВыпускВсего.ЗаказНЗП
	|		//ДляРеглУчета И ЗатратыНаВыпуск.СчетУчета = ЗатратыНаВыпускВсего.СчетУчета
	|
	|СГРУППИРОВАТЬ ПО
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.ЗаказНЗП
	|
	|ИМЕЮЩИЕ
	|	(МАКСИМУМ(ЗатратыНаВыпуск.Количество) >= МАКСИМУМ(ЗатратыНаВыпускВсего.Количество))
	|	ИЛИ 
	|	(МАКСИМУМ(ЗатратыНаВыпуск.Сумма) >= МАКСИМУМ(ЗатратыНаВыпускВсего.Сумма))
    |
	|ИНДЕКСИРОВАТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.СтатьяЗатрат,
	|	ЗатратыНаВыпуск.ЗаказНЗП
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.Заказ,
	|	
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты,
	|	
	|	НезавершенноеПроизводство.КоличествоПриход,
	|	(
	|	ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0 
	|		И Не &РаспределениеКосвенныхЗатрат
	|	ТОГДА
	|		НезавершенноеПроизводство.КоличествоПриход *
	|		НезавершенноеПроизводство.СтоимостьОстаток /
	|		НезавершенноеПроизводство.КоличествоОстаток
	|	ИНАЧЕ
	|		НезавершенноеПроизводство.СтоимостьПриход
	|	КОНЕЦ
	|	) КАК СтоимостьПриход,
	|	
	|	//ДляНалУчета (
	|	//ДляНалУчета 	ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0
	|	//ДляНалУчета 		И Не &РаспределениеКосвенныхЗатрат
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоПриход *
	|	//ДляНалУчета 		НезавершенноеПроизводство.ВременнаяРазницаОстаток /
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоОстаток
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		НезавершенноеПроизводство.ВременнаяРазницаПриход
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК ВременнаяРазницаПриход,
	|	
	|	//ДляНалУчета (
	|	//ДляНалУчета 	ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0
	|	//ДляНалУчета 		И Не &РаспределениеКосвенныхЗатрат
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоПриход *
	|	//ДляНалУчета 		НезавершенноеПроизводство.ПостояннаяРазницаОстаток /
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоОстаток
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		НезавершенноеПроизводство.ПостояннаяРазницаПриход
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК ПостояннаяРазницаПриход,
	|	
	|	НезавершенноеПроизводство.КоличествоКонечныйОстаток,
	|	
	|	//ДляНалУчета (
	|	//ДляНалУчета 	ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0
	|	//ДляНалУчета 		И Не &РаспределениеКосвенныхЗатрат
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоКонечныйОстаток *
	|	//ДляНалУчета 		НезавершенноеПроизводство.ВременнаяРазницаОстаток /
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоОстаток
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		НезавершенноеПроизводство.ВременнаяРазницаОстаток
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК ВременнаяРазницаКонечныйОстаток,
	|	
	|	//ДляНалУчета (
	|	//ДляНалУчета 	ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0
	|	//ДляНалУчета 		И Не &РаспределениеКосвенныхЗатрат
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоКонечныйОстаток *
	|	//ДляНалУчета 		НезавершенноеПроизводство.ПостояннаяРазницаОстаток /
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоОстаток
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		НезавершенноеПроизводство.ПостояннаяРазницаОстаток
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК ПостояннаяРазницаКонечныйОстаток,
	|	
	|	(
	|	ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0 ТОГДА
	|		НезавершенноеПроизводство.КоличествоКонечныйОстаток *
	|		НезавершенноеПроизводство.СтоимостьОстаток /
	|		НезавершенноеПроизводство.КоличествоОстаток
	|	ИНАЧЕ
	|		НезавершенноеПроизводство.СтоимостьКонечныйОстаток
	|	КОНЕЦ
	|	) КАК СтоимостьКонечныйОстаток
	|
	|ПОМЕСТИТЬ НезавершенноеПроизводство%СуффиксУчета%
	|
	|ИЗ (
	|
	|	ВЫБРАТЬ
	|		//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|		
	|		//ДляРеглУчета ВЫБОР КОГДА ЗатратыНаВыпуск.СтатусМатериальныхЗатрат =
	|		//ДляРеглУчета		ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|		//ДляРеглУчета ТОГДА
	|		//ДляРеглУчета 		ЗатратыНаВыпуск.СчетУчета
	|		//ДляРеглУчета ИНАЧЕ
	|		//ДляРеглУчета 		НезавершенноеПроизводство.СчетУчета
	|		//ДляРеглУчета КОНЕЦ КАК СчетУчета,
	|		
	|		НезавершенноеПроизводство.Подразделение,
	|		НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|		НезавершенноеПроизводство.СтатьяЗатрат,
	|		НезавершенноеПроизводство.Заказ,
	|		
	|		НезавершенноеПроизводство.Затрата,
	|		НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|		НезавершенноеПроизводство.СерияЗатраты,
	|		
	|		ВЫБОР КОГДА Не ЕСТЬNULL(РаспределяемыеСтатьиЗатрат.Распределяемая, Ложь)
	|			ИЛИ ЕСТЬNULL(ЗатратыНаВыпуск.Количество, 0) <> 0
	|		ТОГДА
	|			НезавершенноеПроизводство.КоличествоПриход -
	|			ВЫБОР КОГДА ЗатратыНаВыпуск.КоличествоРасход ЕСТЬ NULL ТОГДА
	|				0
	|			КОГДА (ЗатратыНаВыпуск.КоличествоРасход -
	|				НезавершенноеПроизводство.КоличествоНачальныйОстаток) > 0
	|			ТОГДА
	|				ЗатратыНаВыпуск.КоличествоРасход - 
	|				НезавершенноеПроизводство.КоличествоНачальныйОстаток
	|			ИНАЧЕ
	|				0
	|			КОНЕЦ
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ КАК КоличествоПриход,
	|
	|		ВЫБОР КОГДА Не ЕСТЬNULL(РаспределяемыеСтатьиЗатрат.Распределяемая, Ложь)
	|			ИЛИ ЕСТЬNULL(ЗатратыНаВыпуск.Сумма, 0) <> 0
	|		ТОГДА
	|			НезавершенноеПроизводство.СтоимостьПриход -
	|			ВЫБОР КОГДА ЗатратыНаВыпуск.СуммаРасход ЕСТЬ NULL ТОГДА
	|				0
	|			КОГДА (ЗатратыНаВыпуск.СуммаРасход -
	|				НезавершенноеПроизводство.СтоимостьНачальныйОстаток) > 0
	|			ТОГДА
	|				ЗатратыНаВыпуск.СуммаРасход - 
	|				НезавершенноеПроизводство.СтоимостьНачальныйОстаток
	|			ИНАЧЕ
	|				0
	|			КОНЕЦ
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ КАК СтоимостьПриход,
	|		
	|		//ДляНалУчета (
	|		//ДляНалУчета НезавершенноеПроизводство.ВременнаяРазницаПриход -
	|		//ДляНалУчета ВЫБОР КОГДА ЗатратыНаВыпуск.СуммаРасход ЕСТЬ NULL ТОГДА
	|		//ДляНалУчета 	0
	|		//ДляНалУчета КОГДА (ЗатратыНаВыпуск.СуммаРасход -
	|		//ДляНалУчета 	НезавершенноеПроизводство.СтоимостьНачальныйОстаток) > 0
	|		//ДляНалУчета ТОГДА
	|		//ДляНалУчета 	ЗатратыНаВыпуск.ВременнаяРазницаРасход - 
	|		//ДляНалУчета 	НезавершенноеПроизводство.ВременнаяРазницаНачальныйОстаток
	|		//ДляНалУчета ИНАЧЕ
	|		//ДляНалУчета 	0
	|		//ДляНалУчета КОНЕЦ
	|		//ДляНалУчета ) КАК ВременнаяРазницаПриход,
	|		
	|		//ДляНалУчета (
	|		//ДляНалУчета НезавершенноеПроизводство.ПостояннаяРазницаПриход -
	|		//ДляНалУчета ВЫБОР КОГДА ЗатратыНаВыпуск.СуммаРасход ЕСТЬ NULL ТОГДА
	|		//ДляНалУчета 	0
	|		//ДляНалУчета КОГДА (ЗатратыНаВыпуск.СуммаРасход -
	|		//ДляНалУчета 	НезавершенноеПроизводство.СтоимостьНачальныйОстаток) > 0
	|		//ДляНалУчета ТОГДА
	|		//ДляНалУчета 	ЗатратыНаВыпуск.ПостояннаяРазницаРасход - 
	|		//ДляНалУчета 	НезавершенноеПроизводство.ПостояннаяРазницаНачальныйОстаток
	|		//ДляНалУчета ИНАЧЕ
	|		//ДляНалУчета 	0
	|		//ДляНалУчета КОНЕЦ
	|		//ДляНалУчета ) КАК ПостояннаяРазницаПриход,
	|		
	|		(
	|		ВЫБОР КОГДА (НезавершенноеПроизводство.КоличествоПриход <> 0
	|			ИЛИ НезавершенноеПроизводство.КоличествоРасход <> 0)
	|			И РаспределяемыеСтатьиЗатрат.Распределяемая ЕСТЬ NULL
	|		ТОГДА
	|			НезавершенноеПроизводство.КоличествоКонечныйОстаток -
	|			ВЫБОР КОГДА ЗатратыНаВыпуск.Количество ЕСТЬ NULL
	|				ИЛИ ЗатратыНаВыпуск.Количество > НезавершенноеПроизводство.КоличествоКонечныйОстаток
	|				ИЛИ (&РаспределениеКосвенныхЗатрат
	|					И Распределение.ЗатратаВстречногоВыпуска ЕСТЬ NULL)
	|			ТОГДА
	|				0
	|			ИНАЧЕ
	|				ЗатратыНаВыпуск.Количество
	|			КОНЕЦ
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|		) КАК КоличествоКонечныйОстаток,
	|		
	|		(
	|		ВЫБОР КОГДА (НезавершенноеПроизводство.СтоимостьПриход <> 0
	|			ИЛИ НезавершенноеПроизводство.СтоимостьРасход <> 0)
	|			И РаспределяемыеСтатьиЗатрат.Распределяемая ЕСТЬ NULL
	|		ТОГДА
	|			НезавершенноеПроизводство.СтоимостьКонечныйОстаток -
	|			ВЫБОР КОГДА ЗатратыНаВыпуск.Сумма ЕСТЬ NULL
	|				ИЛИ ЗатратыНаВыпуск.Сумма > НезавершенноеПроизводство.СтоимостьКонечныйОстаток
	|					//ДляНалУчета + НезавершенноеПроизводство.ВременнаяРазницаКонечныйОстаток
	|					//ДляНалУчета + НезавершенноеПроизводство.ПостояннаяРазницаКонечныйОстаток
	|				ИЛИ (&РаспределениеКосвенныхЗатрат
	|					И Распределение.ЗатратаВстречногоВыпуска ЕСТЬ NULL)
	|			ТОГДА
	|				0
	|			ИНАЧЕ
	|				ЗатратыНаВыпуск.Сумма
	|			КОНЕЦ
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|		) КАК СтоимостьКонечныйОстаток,
	|		
	|		ЕСТЬNULL(НезавершенноеПроизводство.КоличествоКонечныйОстаток, 0) КАК КоличествоОстаток,
	|		//ДляНалУчета ЕСТЬNULL(НезавершенноеПроизводство.ВременнаяРазницаКонечныйОстаток, 0) КАК ВременнаяРазницаОстаток,
	|		//ДляНалУчета ЕСТЬNULL(НезавершенноеПроизводство.ПостояннаяРазницаКонечныйОстаток, 0) КАК ПостояннаяРазницаОстаток,
	|		ЕСТЬNULL(НезавершенноеПроизводство.СтоимостьКонечныйОстаток, 0) КАК СтоимостьОстаток
	|		
	|	ИЗ
	|		РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.ОстаткиИОбороты(&НачГраница, &КонГраница, Период,,
	|			Не Затрата Ссылка Перечисление.ХарактерЗатрат
	|			//ДляРеглУчета И Организация = &Организация
	|			//ДляНалУчета И СчетУчета В (&МассивСчетовНУ)
	|		) КАК НезавершенноеПроизводство
	|
	|		ЛЕВОЕ СОЕДИНЕНИЕ (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				//ДляРеглУчета СчетЗатрат,
	|				Подразделение,
	|				СтатьяЗатрат,
	|				СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|				Истина КАК Распределяемая
	|			ИЗ
	|				РаспределяемыеСтатьиЗатрат%СуффиксУчета%
	|			ГДЕ
	|				Не НеРаспределять
	|				И ХарактерРаспределенияЗатрат В (&МассивХарактеровРаспределения)
	|			) РаспределяемыеСтатьиЗатрат
	|		ПО 
	|			НезавершенноеПроизводство.Подразделение = РаспределяемыеСтатьиЗатрат.Подразделение
	|			И НезавершенноеПроизводство.СтатьяЗатрат = РаспределяемыеСтатьиЗатрат.СтатьяЗатрат
	|			//ДляРеглУчета И ((РаспределяемыеСтатьиЗатрат.СтатусМатериальныхЗатрат <> 
	|			//ДляРеглУчета			ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|			//ДляРеглУчета	И НезавершенноеПроизводство.СчетУчета = РаспределяемыеСтатьиЗатрат.СчетЗатрат)
	|			//ДляРеглУчета	ИЛИ РаспределяемыеСтатьиЗатрат.СтатусМатериальныхЗатрат =
	|			//ДляРеглУчета			ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку))
	|			
	|		ЛЕВОЕ СОЕДИНЕНИЕ (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				Распределение.Подразделение,
	|				Распределение.СтатьяЗатрат,
	|				Распределение.Затрата,
	|				Распределение.ХарактеристикаЗатраты,
	|				Распределение.СерияЗатраты,
	|				Истина КАК ЗатратаВстречногоВыпуска
	|			ИЗ			
	|				РегистрСведений.РаспределениеЗатратПоПеределам%СуффиксОрганизаций% КАК Распределение
	|			ГДЕ
	|				Распределение.Период МЕЖДУ &НачДата И &КонДата
	|				И Распределение.ВстречныйВыпуск
	|				//ДляРеглУчета И Распределение.Организация = &Организация
	|			) КАК Распределение
	|		ПО
	|			НезавершенноеПроизводство.Подразделение = Распределение.Подразделение
	|			И НезавершенноеПроизводство.СтатьяЗатрат = Распределение.СтатьяЗатрат
	|			И НезавершенноеПроизводство.Затрата = Распределение.Затрата
	|			И НезавершенноеПроизводство.ХарактеристикаЗатраты = Распределение.ХарактеристикаЗатраты
	|			И НезавершенноеПроизводство.СерияЗатраты = Распределение.СерияЗатраты
	|
	|		ЛЕВОЕ СОЕДИНЕНИЕ (
	|			ВЫБРАТЬ
	|				//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|				ЗатратыНаВыпуск.Подразделение,
	|				ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|				ЗатратыНаВыпуск.ЗаказНЗП,
	|				ЗатратыНаВыпуск.СтатьяЗатрат,
	|				ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат КАК СтатусМатериальныхЗатрат,
	|				ЗатратыНаВыпуск.Затрата,
	|				ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|				ЗатратыНаВыпуск.СерияЗатраты,
	|
	|				//ДляНалУчета СУММА(ВременнаяРазница) КАК ВременнаяРазница,
	|				//ДляНалУчета СУММА(ПостояннаяРазница) КАК ПостояннаяРазница,
	|				//ДляНалУчета СУММА(ВременнаяРазницаРасход) КАК ВременнаяРазницаРасход,
	|				//ДляНалУчета СУММА(ПостояннаяРазницаРасход) КАК ПостояннаяРазницаРасход,
	|				
	|				СУММА(Количество) КАК Количество,
	|				СУММА(Сумма) КАК Сумма,
	|				СУММА(КоличествоРасход) КАК КоличествоРасход,
	|				СУММА(СуммаРасход) КАК СуммаРасход
	|			ИЗ
	|				ЗатратыНаВыпуск%СуффиксУчета% КАК ЗатратыНаВыпуск
	|
	|			СГРУППИРОВАТЬ ПО
	|				//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|				ЗатратыНаВыпуск.Подразделение,
	|				ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|				ЗатратыНаВыпуск.ЗаказНЗП,
	|				ЗатратыНаВыпуск.СтатьяЗатрат,
	|				ЗатратыНаВыпуск.Затрата,
	|				ЗатратыНаВыпуск.ХарактеристикаЗатраты,
	|				ЗатратыНаВыпуск.СерияЗатраты
	|
	|			) КАК ЗатратыНаВыпуск
	|
	|		ПО 
	|			НезавершенноеПроизводство.Подразделение = ЗатратыНаВыпуск.Подразделение
	|			И НезавершенноеПроизводство.НоменклатурнаяГруппа = ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП
	|			И НезавершенноеПроизводство.Заказ = ЗатратыНаВыпуск.ЗаказНЗП
	|			И НезавершенноеПроизводство.СтатьяЗатрат = ЗатратыНаВыпуск.СтатьяЗатрат
	|			И НезавершенноеПроизводство.Затрата = ЗатратыНаВыпуск.Затрата
	|			И НезавершенноеПроизводство.ХарактеристикаЗатраты = ЗатратыНаВыпуск.ХарактеристикаЗатраты
	|			И НезавершенноеПроизводство.СерияЗатраты = ЗатратыНаВыпуск.СерияЗатраты
	|			
	|			//ДляРеглУчета И ((ЗатратыНаВыпуск.СтатусМатериальныхЗатрат <>
	|			//ДляРеглУчета			ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|			//ДляРеглУчета	И НезавершенноеПроизводство.СчетУчета = ЗатратыНаВыпуск.СчетУчета)
	|			//ДляРеглУчета	ИЛИ ЗатратыНаВыпуск.СтатусМатериальныхЗатрат =
	|			//ДляРеглУчета			ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку))
	|			
	|		ЛЕВОЕ СОЕДИНЕНИЕ
	|			ИсключаемыеЗатраты КАК ИсключаемыеЗатраты
	|		ПО
	|			НезавершенноеПроизводство.Подразделение = ИсключаемыеЗатраты.Подразделение
	|			И НезавершенноеПроизводство.НоменклатурнаяГруппа = ИсключаемыеЗатраты.НоменклатурнаяГруппаНЗП
	|			И НезавершенноеПроизводство.СтатьяЗатрат = ИсключаемыеЗатраты.СтатьяЗатрат
	|			И НезавершенноеПроизводство.Заказ = ИсключаемыеЗатраты.ЗаказНЗП
	|			//ДляРеглУчета И НезавершенноеПроизводство.СчетУчета = ИсключаемыеЗатраты.СчетУчета
	|	ГДЕ
	|		ИсключаемыеЗатраты.СтатьяЗатрат ЕСТЬ NULL
	|
	|	) КАК НезавершенноеПроизводство
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ ИсключаемыеЗатраты
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаНезавершенноеПроизводство()
		// Процедура устанавливает параметры запроса по незавершенному производству.
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	Запрос - Запрос.
		//

		public void УстановитьПараметрыЗапросаБазыРаспределенияПоНезавершенномуПроизводству(/*
	СтруктураШапкиДокумента,
	РаспределениеКосвенныхЗатрат,
	ВидОтраженияВУчете,
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.мНачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.мНачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//Запрос.УстановитьПараметр("РаспределениеКосвенныхЗатрат", РаспределениеКосвенныхЗатрат);
			//МассивКодыОперацийПрямыеЗатраты = Новый Массив;
			//МассивКодыОперацийПрямыеЗатраты.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты);
			//МассивКодыОперацийПрямыеЗатраты.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты);
			//Запрос.УстановитьПараметр("МассивКодыОперацийПрямыеЗатраты", МассивКодыОперацийПрямыеЗатраты);
			//МассивХарактеровРаспределения = Новый Массив;
			if(true/*РаспределениеКосвенныхЗатрат
	   И Не СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.УчитыватьПодразделение);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			}
			//Запрос.УстановитьПараметр("МассивХарактеровРаспределения", МассивХарактеровРаспределения);
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете
	 ИЛИ ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
			{
				//МассивСчетовНУ = Новый Массив;
				//МассивСчетовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОсновногоПроизводства);
				//МассивСчетовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыВспомогательныхПроизводств);
				//МассивСчетовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОбслуживающихПроизводств);
				//Запрос.УстановитьПараметр("МассивСчетовНУ", МассивСчетовНУ);
				//УСН = СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСН ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСНДоходы;
				//Запрос.УстановитьПараметр("УСН", УСН);
			}
		}
		// УстановитьПараметрыЗапросаБазыРаспределенияПоНезавершенномуПроизводству()
		// Процедура формирует временную таблицу "Незавершенное производство".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//  СтруктураПараметров – Структура - Структура параметров способа распределения
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//

		public void СформироватьВременнуюТаблицуНезавершенноеПроизводство(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	РаспределениеКосвенныхЗатрат,
	МенеджерВременныхТаблиц
	*/)
		{
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаВременнаяТаблицаНезавершенноеПроизводствоРасширеннаяАналитика();
			}
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
		}
		// СформироватьВременнуюТаблицуНезавершенноеПроизводство()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПОДГОТОВКИ ВРЕМЕННОЙ ТАБЛИЦЫ ПО ЦЕНАМ НОМЕНКЛАТУРЫ
		// Функция формирования запроса для базы распределения по ценам номенклатуры.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазыРаспределенияПоЦенамНоменклатуры(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Номенклатура,
	|	ХарактеристикаНоменклатуры,
	|	ТипЦен,
	|	(
	|	ЦеныНоменклатуры.Цена * 
	|	ЕСТЬNULL(КурсыВалют.Курс, 0) *
	|	ВЫБОР КОГДА ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент ЕСТЬ NULL 
	|	  ИЛИ ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент = 0 
	|	ТОГДА
	|		1
	|	ИНАЧЕ
	|		ЦеныНоменклатуры.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / 
	|		ЦеныНоменклатуры.ЕдиницаИзмерения.Коэффициент
	|	КОНЕЦ *
	|	ЕСТЬNULL(КурсВалютыУчета.Кратность, 1)
	|	/ 
	|	(
	|	ЕСТЬNULL(КурсВалютыУчета.Курс, 1) *
	|	ВЫБОР КОГДА КурсыВалют.Кратность ЕСТЬ NULL 
	|	  ИЛИ КурсыВалют.Кратность = 0 
	|	Тогда
	|		1
	|	ИНАЧЕ 
	|		КурсыВалют.Кратность
	|	КОНЕЦ
	|	)
	|	) КАК Цена
	|
	|ПОМЕСТИТЬ ЦеныНоменклатуры%СуффиксУчета%
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонДата, 
	|		ТипЦен В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				СпособыРаспределения.ТипЦен
	|			ИЗ
	|				Справочник.СпособыРаспределенияЗатратНаВыпуск КАК СпособыРаспределения
	|			ГДЕ
	|				СпособыРаспределения.ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|				И СпособыРаспределения.ТипЦен <> ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка)
	|			)
	|		И Номенклатура В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				Продукция 
	|			ИЗ
	|				ВыпускПродукции%СуффиксУчета%
	|				
	|			ОБЪЕДИНИТЬ ВСЕ
	|			
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				ОсновноеСырьеСостав.Номенклатура КАК Номенклатура
	|			ИЗ
	|				Справочник.ОсновноеСырье.Состав КАК ОсновноеСырьеСостав
	|			)
	|
	|		) КАК ЦеныНоменклатуры
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.КурсыВалют.СрезПоследних(&КонДата) КАК КурсыВалют
	|	ПО 
	|		КурсыВалют.Валюта = ЦеныНоменклатуры.Валюта
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.КурсыВалют.СрезПоследних(&КонДата, Валюта = &ВалютаУчета) КАК КурсВалютыУчета
	|	ПО ИСТИНА
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазыРаспределенияПоЦенамНоменклатуры()
		// Процедура формирует временную таблицу "Цены номенклатуры".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//  СтруктураПараметров – Структура - Структура параметров способа распределения
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//

		public void СформироватьВременнуюТаблицуЦеныНоменклатуры(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	МенеджерВременныхТаблиц
	*/)
		{
			//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаБазыРаспределенияПоЦенамНоменклатуры();
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
		}
		// СформироватьВременнуюТаблицуЦеныНоменклатуры()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПОДГОТОВКИ ВРЕМЕННОЙ ТАБЛИЦЫ ПО ПРОДАЖАМ
		// Функция формирования запроса для базы распределения по выручке от продаж.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаПродажиУпр(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	ВЫБОР КОГДА Продажи.Номенклатура.Услуга ТОГДА
	|		Продажи.Подразделение
	|	ИНАЧЕ
	|		Неопределено
	|	КОНЕЦ КАК Подразделение,
	|	Продажи.Номенклатура КАК Продукция,
	|	Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаПродукции,
	|	ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК СерияПродукции,
	|	Продажи.ЗаказПокупателя КАК Заказ,
	|	Продажи.КоличествоОборот КАК Количество,
	|	(Продажи.СтоимостьОборот - Продажи.НДСОборот) КАК Стоимость
	|
	|ПОМЕСТИТЬ Продажи%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.Продажи.Обороты(&НачГраница, &КонГраница, Период,
	|		(Номенклатура,
	|		ХарактеристикаНоменклатуры
	|		) В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				Продукция,
	|				ХарактеристикаПродукции
	|			ИЗ
	|				ВыпускПродукции%СуффиксУчета%
	|			)
	|	) КАК Продажи
	|	
	|ГДЕ
	|	Продажи.КоличествоОборот <> 0	
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаПродажиУпр()
		// Функция формирования запроса для базы распределения по выручке от продаж.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаПродажиРегл(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Услуги.Ссылка КАК Ссылка,
	|	Услуги.Ссылка.Сделка КАК Заказ,
	|	Услуги.Номенклатура КАК Номенклатура,
	|	СУММА(Услуги.Количество) КАК Количество
	|	
	|ПОМЕСТИТЬ Услуги
	|ИЗ
	|	Документ.АктОбОказанииПроизводственныхУслуг.Услуги КАК Услуги
	|ГДЕ
	|	Услуги.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
	|	И Услуги.Ссылка.Организация = &Организация
	|
	|СГРУППИРОВАТЬ ПО
	|	Услуги.Ссылка,
	|	Услуги.Ссылка.Сделка,
	|	Услуги.Номенклатура
	|
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	Расчеты.Регистратор.ПодразделениеОрганизации КАК Подразделение,
	|	Расчеты.Номенклатура КАК Продукция,
	|	ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаПродукции,
	|	ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК СерияПродукции,
	|	Услуги.Заказ,
	|	СУММА(Услуги.Количество) КАК Количество,
	|	СУММА(Расчеты.СуммаСНДС - Расчеты.СуммаНДС) КАК Стоимость
	|	
	|ПОМЕСТИТЬ Продажи%СуффиксУчета%
	|ИЗ
	|	РегистрСведений.РасчетыПоРеализацииОрганизации КАК Расчеты
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		Услуги КАК Услуги
	|	ПО
	|		Расчеты.Регистратор = Услуги.Ссылка
	|		И Расчеты.Номенклатура = Услуги.Номенклатура
	|	
	|ГДЕ
	|	Расчеты.Период МЕЖДУ &НачДата И &КонДата
	|	И Расчеты.Регистратор ССЫЛКА Документ.АктОбОказанииПроизводственныхУслуг
	|	И Расчеты.Организация = &Организация
	|	
	|СГРУППИРОВАТЬ ПО
	|	Расчеты.Регистратор.ПодразделениеОрганизации,
	|	Расчеты.Номенклатура,
	|	Услуги.Заказ
	|	
	|ИМЕЮЩИЕ
	|	СУММА(Услуги.Количество) <> 0
	|	
	|ОБЪЕДИНИТЬ ВСЕ
	|	
	|ВЫБРАТЬ
	|	Неопределено КАК Подразделение,
	|	СписанныеТовары.Номенклатура,
	|	СписанныеТовары.ХарактеристикаНоменклатуры,
	|	СписанныеТовары.СерияНоменклатуры,
	|	СписанныеТовары.ЗаказСписания,
	|	СУММА(СписанныеТовары.Количество) КАК Количество,
	|	СУММА(СписанныеТовары.СуммаЗадолженностиБУ - СписанныеТовары.СуммаНДС) КАК Стоимость
	|ИЗ
	|	РегистрСведений.СписанныеТовары КАК СписанныеТовары	
	|ГДЕ
	|	СписанныеТовары.Период МЕЖДУ &НачДата И &КонДата
	|	И СписанныеТовары.СуммаЗадолженностиБУ <> 0
	|	И СписанныеТовары.ОтражатьВБухгалтерскомУчете
	|	И СписанныеТовары.Организация = &Организация
	|	И (	СписанныеТовары.Номенклатура,
	|		СписанныеТовары.ХарактеристикаНоменклатуры,
	|		СписанныеТовары.СерияНоменклатуры
	|		) В (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|				Продукция,
	|				ХарактеристикаПродукции,
	|				СерияПродукции
	|			ИЗ
	|				ВыпускПродукции%СуффиксУчета%
	|			)
	|	
	|СГРУППИРОВАТЬ ПО
	|	СписанныеТовары.Номенклатура,
	|	СписанныеТовары.ХарактеристикаНоменклатуры,
	|	СписанныеТовары.СерияНоменклатуры,
	|	СписанныеТовары.ЗаказСписания
	|	
	|ИМЕЮЩИЕ
	|	СУММА(СписанныеТовары.Количество) <> 0	
	|;
	|///////////////////////////////////////////////////////////////////////////////	
	|
	|УНИЧТОЖИТЬ Услуги
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаПродажиРегл()
		// Функция формирования запроса для базы распределения по выручке от продаж.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаВременнаяТаблицаПродажиРеглРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса =
	"ВЫБРАТЬ
	|	АналитикаВидаУчета.Ссылка,
	|	АналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение
	|ПОМЕСТИТЬ АналитикаВидаУчета_УчетПродажИСебестоимости
	|ИЗ
	|	РегистрСведений.АналитикаВидаУчета КАК АналитикаВидаУчета
	|ГДЕ
	|	АналитикаВидаУчета.Организация = &Организация
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	АналитикаУчетаПрочихЗатрат.Ссылка,
	|	НЕОПРЕДЕЛЕНО
	|ИЗ
	|	РегистрСведений.АналитикаУчетаПрочихЗатрат КАК АналитикаУчетаПрочихЗатрат
	|ГДЕ
	|	АналитикаУчетаПрочихЗатрат.Организация = &Организация
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	РегистрАналитикаРаспределенияЗатрат.Ссылка,
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции
	|ПОМЕСТИТЬ АналитикаРаспределенияЗатрат_УчетПродажИСебестоимости
	|ИЗ
	|	РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|		ПО РегистрАналитикаРаспределенияЗатрат.Продукция = ВыпускПродукции.Продукция
	|			И РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции = ВыпускПродукции.ХарактеристикаПродукции
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА РегистрАналитикаВидаУчета.Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	|			ТОГДА НЕОПРЕДЕЛЕНО
	|		ИНАЧЕ РегистрАналитикаВидаУчета.Подразделение
	|	КОНЕЦ КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.Продукция КАК Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции КАК СерияПродукции,
	|	ВЫБОР
	|		КОГДА УчетПродажИСебестоимости.Регистратор ССЫЛКА Документ.АктОбОказанииПроизводственныхУслуг
	|				И УчетПродажИСебестоимости.Регистратор.ИспользоватьЗаказы = ИСТИНА
	|			ТОГДА УчетПродажИСебестоимости.Регистратор.Сделка
	|		ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
	|	КОНЕЦ КАК Заказ,
	|	СУММА(УчетПродажИСебестоимости.Количество) КАК Количество,
	|	СУММА(УчетПродажИСебестоимости.Стоимость - УчетПродажИСебестоимости.НДС) КАК Стоимость
	|ПОМЕСТИТЬ Продажи%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.УчетПродажИСебестоимости КАК УчетПродажИСебестоимости
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ АналитикаВидаУчета_УчетПродажИСебестоимости КАК РегистрАналитикаВидаУчета
	|		ПО УчетПродажИСебестоимости.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ АналитикаРаспределенияЗатрат_УчетПродажИСебестоимости КАК РегистрАналитикаРаспределенияЗатрат
	|		ПО УчетПродажИСебестоимости.АналитикаУчетаНоменклатуры = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|ГДЕ
	|	УчетПродажИСебестоимости.Активность
	|	И УчетПродажИСебестоимости.Период МЕЖДУ &НачДата И &КонДата
	|
	|СГРУППИРОВАТЬ ПО
	|	РегистрАналитикаВидаУчета.Подразделение,
	|	ВЫБОР
	|		КОГДА УчетПродажИСебестоимости.Регистратор ССЫЛКА Документ.АктОбОказанииПроизводственныхУслуг
	|				И УчетПродажИСебестоимости.Регистратор.ИспользоватьЗаказы = ИСТИНА
	|			ТОГДА УчетПродажИСебестоимости.Регистратор.Сделка
	|		ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
	|	КОНЕЦ,
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции
	|
	|ИМЕЮЩИЕ
	|	СУММА(УчетПродажИСебестоимости.Количество) > 0
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|УНИЧТОЖИТЬ АналитикаВидаУчета_УчетПродажИСебестоимости
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|УНИЧТОЖИТЬ АналитикаРаспределенияЗатрат_УчетПродажИСебестоимости";*/
			return null;
		}
		// СформироватьТекстЗапросаВременнаяТаблицаПродажиРегл()
		// Процедура формирует временную таблицу "Продажи".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//  СтруктураПараметров – Структура - Структура параметров способа распределения
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//

		public void СформироватьВременнуюТаблицуПродажи(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	МенеджерВременныхТаблиц
	*/)
		{
			//ТекстЗапросаСКомментариямиУпр = СформироватьТекстЗапросаВременнаяТаблицаПродажиУпр();
			if(true/*СтруктураПараметров.ИспользоватьРасширеннуюАналитику*/)
			{
				//ТекстЗапросаСКомментариямиРегл = СформироватьТекстЗапросаВременнаяТаблицаПродажиРеглРасширеннаяАналитика();
			}
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
		}
		// СформироватьВременнуюТаблицуПродажи()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ПОДГОТОВКИ ВРЕМЕННОЙ ТАБЛИЦЫ ПО РАСПРЕДЕЛЯЕМЫМ СТАТЬЯМ ЗАТРАТА
		// Процедура формирует временную таблицу "Распределяемые статьи затрат".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//  СтруктураПараметров – Структура - Структура параметров способа распределения
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//

		public void СформироватьВременнуюТаблицуРаспределяемыеСтатьиЗатрат(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	МенеджерВременныхТаблиц
	*/)
		{
			//МассивХарактеровРаспределения = Новый Массив;
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.УчитыватьПодразделение);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы);
			//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
		}
		// СформироватьВременнуюТаблицуРаспределяемыеСтатьиЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ТЕКСТОВ ЗАПРОСА ДЛЯ РАСЧЕТА БАЗЫ РАСПРЕДЕЛЕНИЯ (РАСШИРЕННАЯ АНАЛИТИКА)
		// Функция формирования запроса для базы распределения по стоимости затрат.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоСтоимостиЗатратРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	ЗатратыНаВыпуск.АналитикаВидаУчета,
	|	ЗатратыНаВыпуск.АналитикаУчетаПартий,
	|	ЗатратыНаВыпуск.АналитикаРаспределенияЗатрат,
	|	
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрКорАналитикаВидаУчета.Подразделение КАК ПодразделениеНЗП,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.ПодразделениеОрганизации КАК ПодразделениеНЗП,
	|	РегистрКорАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	РегистрКорАналитикаУчетаПартий.Заказ КАК ЗаказНЗП,
	|
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация,
	|
	|	Неопределено КАК ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета 
	|		= ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыПоНаработке)
	|	ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляРеглУчета СУММА(
	|	//ДляРеглУчета 	ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0 ТОГДА
	|	//ДляРеглУчета 		ЗатратыНаВыпуск.Количество *
	|	//ДляРеглУчета 		ЕСТЬNULL(НезавершенноеПроизводство.СтоимостьОстаток, 0) /
	|	//ДляРеглУчета 		ЕСТЬNULL(НезавершенноеПроизводство.КоличествоОстаток, 1)
	|	//ДляРеглУчета 	ИНАЧЕ
	|	//ДляРеглУчета 		ЗатратыНаВыпуск.Стоимость
	|	//ДляРеглУчета 	КОНЕЦ
	|	//ДляРеглУчета ) КАК БазаНУ,
	|	//ДляРеглУчета 0 КАК БазаПриходНУ,
	|	//ДляРеглУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	СУММА(
	|		ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0 ТОГДА
	|			ЗатратыНаВыпуск.Количество *
	|			(ЕСТЬNULL(НезавершенноеПроизводство.СтоимостьОстаток, 0) 
	|			//ДляНалУчета + ЕСТЬNULL(НезавершенноеПроизводство.ПостояннаяРазницаОстаток, 0)
	|			) /
	|			ЕСТЬNULL(НезавершенноеПроизводство.КоличествоОстаток, 1)
	|		ИНАЧЕ
	|			ЗатратыНаВыпуск.Стоимость
	|		КОНЕЦ
	|	) КАК База,
	|	0 КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.УчетЗатратРегл КАК ЗатратыНаВыпуск // заменяется на временную таблицу ЗатратыНаВыпуск%СуффиксУчета%
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрНакопления.УчетЗатратРегл.Остатки(, ) КАК НезавершенноеПроизводство // заменяется на временную таблицу НезавершенноеПроизводство%СуффиксУчета%
	|	ПО
	|		ЗатратыНаВыпуск.КорАналитикаВидаУчета = НезавершенноеПроизводство.АналитикаВидаУчета
	|		И ЗатратыНаВыпуск.КорАналитикаУчетаЗатрат = НезавершенноеПроизводство.АналитикаУчетаЗатрат
	|		И ЗатратыНаВыпуск.КорАналитикаУчетаПартий = НезавершенноеПроизводство.АналитикаУчетаПартий
	|		И ЗатратыНаВыпуск.КорАналитикаРаспределенияЗатрат = НезавершенноеПроизводство.АналитикаРаспределенияЗатрат
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|		ГДЕ
	|			(РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыНаВыпуск)
	|			ИЛИ РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыПоНаработке))
	|			//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|		{ГДЕ
	|			//ДляУпрУчета Подразделение.*
	|			//ДляРеглУчета ПодразделениеОрганизации.*
	|		}
	|		) КАК РегистрАналитикаВидаУчета
	|	ПО
	|		ЗатратыНаВыпуск.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|		{ГДЕ
	|			СтатьяЗатрат.* КАК СтатьяЗатрат,
	|			СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|			СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|			СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|		}
	|		) КАК РегистрАналитикаУчетаЗатрат
	|	ПО
	|		ЗатратыНаВыпуск.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		{ГДЕ
	|			НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|			Продукция.* КАК Продукция
	|		}
	|		) КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		ЗатратыНаВыпуск.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		ЗатратыНаВыпуск.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрКорАналитикаВидаУчета
	|	ПО
	|		ЗатратыНаВыпуск.КорАналитикаВидаУчета = РегистрКорАналитикаВидаУчета.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрКорАналитикаРаспределенияЗатрат
	|	ПО
	|		ЗатратыНаВыпуск.КорАналитикаРаспределенияЗатрат = РегистрКорАналитикаРаспределенияЗатрат.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрКорАналитикаУчетаПартий
	|	ПО
	|		ЗатратыНаВыпуск.КорАналитикаУчетаПартий = РегистрКорАналитикаУчетаПартий.Ссылка
	|
	|СГРУППИРОВАТЬ ПО
	|	ЗатратыНаВыпуск.АналитикаВидаУчета,
	|	ЗатратыНаВыпуск.АналитикаУчетаПартий,
	|	ЗатратыНаВыпуск.АналитикаРаспределенияЗатрат,
	|	
	|	РегистрАналитикаВидаУчета.РазделУчета,
	|	
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка),
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка),
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрКорАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрКорАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрКорАналитикаУчетаПартий.Заказ,
	|
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоСтоимостиЗатратРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по стоимости затрат.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПриходПоСтоимостиЗатратРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	НезавершенноеПроизводство.АналитикаВидаУчета,
	|	НезавершенноеПроизводство.АналитикаУчетаПартий,
	|	НезавершенноеПроизводство.АналитикаРаспределенияЗатрат,
	|	
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение КАК ПодразделениеНЗП,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК ПодразделениеНЗП,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	РегистрАналитикаУчетаПартий.Заказ КАК ЗаказНЗП,
	|	
	|	Неопределено КАК Продукция,
	|	Неопределено КАК ХарактеристикаПродукции,
	|	Неопределено КАК СерияПродукции,
	|	Неопределено КАК Спецификация,
	|	Неопределено КАК ВариантВыпускаПродукции,
	|	Неопределено КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляНалУчета 0 КАК БазаНУ,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.СтоимостьПриход) КАК БазаПриходНУ,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.СтоимостьКонечныйОстаток) КАК БазаОстатокНЗПНУ,
	|
	|	0 КАК База,
	|	СУММА(НезавершенноеПроизводство.СтоимостьПриход
	|		//ДляНалУчета + НезавершенноеПроизводство.ПостояннаяРазницаПриход
	|		) КАК БазаПриход,
	|	СУММА(НезавершенноеПроизводство.СтоимостьКонечныйОстаток
	|		//ДляНалУчета + НезавершенноеПроизводство.ПостояннаяРазницаКонечныйОстаток
	|		) КАК БазаОстатокНЗП
	|	
	|ИЗ
	|	РегистрНакопления.УчетЗатратРегл.ОстаткиИОбороты(, , , , ) КАК НезавершенноеПроизводство // заменяется на временную таблицу НезавершенноеПроизводство%СуффиксУчета%
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|		ГДЕ
	|			РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Затраты)
	|			//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|		{ГДЕ
	|			//ДляУпрУчета Подразделение.*
	|			//ДляРеглУчета ПодразделениеОрганизации.*
	|		}
	|		) КАК РегистрАналитикаВидаУчета
	|	ПО
	|		НезавершенноеПроизводство.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|		{ГДЕ
	|			СтатьяЗатрат.* КАК СтатьяЗатрат,
	|			СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|			СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|			СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|		}
	|		) КАК РегистрАналитикаУчетаЗатрат
	|	ПО
	|		НезавершенноеПроизводство.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		{ГДЕ
	|			НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа
	|		}
	|		) КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		НезавершенноеПроизводство.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		НезавершенноеПроизводство.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|СГРУППИРОВАТЬ ПО
	|	НезавершенноеПроизводство.АналитикаВидаУчета,
	|	НезавершенноеПроизводство.АналитикаУчетаПартий,
	|	НезавершенноеПроизводство.АналитикаРаспределенияЗатрат,
	|	
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка),
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка),
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПриходПоСтоимостиЗатратРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по основному сырью.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоОсновномуСырьюРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	ЗатратыНаВыпуск.АналитикаВидаУчета,
	|	ЗатратыНаВыпуск.АналитикаУчетаПартий,
	|	ЗатратыНаВыпуск.АналитикаРаспределенияЗатрат,
	|	
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрКорАналитикаВидаУчета.Подразделение КАК ПодразделениеНЗП,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.ПодразделениеОрганизации КАК ПодразделениеНЗП,
	|	РегистрКорАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	РегистрКорАналитикаУчетаПартий.Заказ КАК ЗаказНЗП,
	|
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация,
	|
	|	Неопределено КАК ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета 
	|		= ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыПоНаработке)
	|	ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляРеглУчета СУММА(
	|	//ДляРеглУчета 	ЗатратыНаВыпуск.Количество *
	|	//ДляРеглУчета 	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляРеглУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляРеглУчета 	ТОГДА
	|	//ДляРеглУчета 		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляРеглУчета 	ИНАЧЕ
	|	//ДляРеглУчета 		1
	|	//ДляРеглУчета 	КОНЕЦ
	|	//ДляРеглУчета ) КАК БазаНУ,
	|	//ДляРеглУчета 0 КАК БазаПриходНУ,
	|	//ДляРеглУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	СУММА(
	|		ЗатратыНаВыпуск.Количество *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|	) КАК База,
	|	0 КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.УчетЗатратРегл КАК ЗатратыНаВыпуск // заменяется на временную таблицу ЗатратыНаВыпуск%СуффиксУчета%
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|		ГДЕ
	|			(РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыНаВыпуск)
	|			ИЛИ РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ЗатратыПоНаработке))
	|			//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|		{ГДЕ
	|			//ДляУпрУчета Подразделение.*
	|			//ДляРеглУчета ПодразделениеОрганизации.*
	|		}
	|		) КАК РегистрАналитикаВидаУчета
	|	ПО
	|		ЗатратыНаВыпуск.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|		{ГДЕ
	|			СтатьяЗатрат.* КАК СтатьяЗатрат,
	|			СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|			СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|			СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|		}
	|		ГДЕ
	|			Затрата В (
	|				ВЫБРАТЬ РАЗЛИЧНЫЕ
	|					ОсновноеСырьеСостав.Номенклатура
	|				ИЗ
	|					Справочник.ОсновноеСырье.Состав КАК ОсновноеСырьеСостав
	|				ГДЕ
	|					ОсновноеСырьеСостав.Ссылка = &ОсновноеСырье
	|			)
	|		) КАК РегистрАналитикаУчетаЗатрат
	|	ПО
	|		ЗатратыНаВыпуск.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		{ГДЕ
	|			НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|			Продукция.* КАК Продукция
	|		}
	|		) КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		ЗатратыНаВыпуск.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		ЗатратыНаВыпуск.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрКорАналитикаВидаУчета
	|	ПО
	|		ЗатратыНаВыпуск.КорАналитикаВидаУчета = РегистрКорАналитикаВидаУчета.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрКорАналитикаРаспределенияЗатрат
	|	ПО
	|		ЗатратыНаВыпуск.КорАналитикаРаспределенияЗатрат = РегистрКорАналитикаРаспределенияЗатрат.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрКорАналитикаУчетаПартий
	|	ПО
	|		ЗатратыНаВыпуск.КорАналитикаУчетаПартий = РегистрКорАналитикаУчетаПартий.Ссылка
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Номенклатура,
	|			ХарактеристикаНоменклатуры,
	|			Цена
	|		ИЗ
	|			РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры  // заменяется на временную таблицу ЦеныНоменклатуры
	|		ГДЕ
	|			ТипЦен = &ТипЦен
	|			И &ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|			
	|		) КАК ЦеныНоменклатуры
	|	ПО 
	|		РегистрАналитикаУчетаЗатрат.Затрата = ЦеныНоменклатуры.Номенклатура
	|		И РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты = ЦеныНоменклатуры.ХарактеристикаНоменклатуры	
	|
	|СГРУППИРОВАТЬ ПО
	|	ЗатратыНаВыпуск.АналитикаВидаУчета,
	|	ЗатратыНаВыпуск.АналитикаУчетаПартий,
	|	ЗатратыНаВыпуск.АналитикаРаспределенияЗатрат,
	|	
	|	РегистрАналитикаВидаУчета.РазделУчета,
	|	
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка),
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка),
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрКорАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрКорАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрКорАналитикаУчетаПартий.Заказ,
	|
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоОсновномуСырьюРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по основному сырью.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПриходПоОсновномуСырьюРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	НезавершенноеПроизводство.АналитикаВидаУчета,
	|	НезавершенноеПроизводство.АналитикаУчетаПартий,
	|	НезавершенноеПроизводство.АналитикаРаспределенияЗатрат,
	|	
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение КАК ПодразделениеНЗП,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК ПодразделениеНЗП,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ КАК ЗаказНЗП,
	|	
	|	Неопределено КАК Продукция,
	|	Неопределено КАК ХарактеристикаПродукции,
	|	Неопределено КАК СерияПродукции,
	|	Неопределено КАК Спецификация,
	|	Неопределено КАК ВариантВыпускаПродукции,
	|	Неопределено КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляНалУчета 0 КАК БазаНУ,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.СтоимостьПриход) КАК БазаПриходНУ,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.СтоимостьКонечныйОстаток) КАК БазаОстатокНЗПНУ,
	|
	|	0 КАК База,
	|	СУММА(
	|		НезавершенноеПроизводство.КоличествоПриход *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|	) КАК БазаПриход,
	|		
	|	СУММА(
	|		НезавершенноеПроизводство.КоличествоКонечныйОстаток *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|	) КАК БазаОстатокНЗП
	|	
	|ИЗ
	|	РегистрНакопления.УчетЗатратРегл.ОстаткиИОбороты(, , , , ) КАК НезавершенноеПроизводство // заменяется на временную таблицу НезавершенноеПроизводство%СуффиксУчета%
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|		ГДЕ
	|			РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Затраты)
	|			//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|		{ГДЕ
	|			//ДляУпрУчета Подразделение.*
	|			//ДляРеглУчета ПодразделениеОрганизации.*
	|		}
	|		) КАК РегистрАналитикаВидаУчета
	|	ПО
	|		НезавершенноеПроизводство.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|		{ГДЕ
	|			СтатьяЗатрат.* КАК СтатьяЗатрат,
	|			СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|			СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|			СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|		}
	|		ГДЕ
	|			Затрата В (
	|				ВЫБРАТЬ РАЗЛИЧНЫЕ
	|					ОсновноеСырьеСостав.Номенклатура
	|				ИЗ
	|					Справочник.ОсновноеСырье.Состав КАК ОсновноеСырьеСостав
	|				ГДЕ
	|					ОсновноеСырьеСостав.Ссылка = &ОсновноеСырье
	|			)
	|		) КАК РегистрАналитикаУчетаЗатрат
	|	ПО
	|		НезавершенноеПроизводство.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		{ГДЕ
	|			НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа
	|		}
	|		) КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		НезавершенноеПроизводство.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		НезавершенноеПроизводство.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Номенклатура,
	|			ХарактеристикаНоменклатуры,
	|			Цена
	|		ИЗ
	|			РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры  // заменяется на временную таблицу ЦеныНоменклатуры
	|		ГДЕ
	|			ТипЦен = &ТипЦен
	|			И &ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|			
	|		) КАК ЦеныНоменклатуры
	|	ПО 
	|		РегистрАналитикаУчетаЗатрат.Затрата = ЦеныНоменклатуры.Номенклатура
	|		И РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты = ЦеныНоменклатуры.ХарактеристикаНоменклатуры	
	|
	|СГРУППИРОВАТЬ ПО
	|	НезавершенноеПроизводство.АналитикаВидаУчета,
	|	НезавершенноеПроизводство.АналитикаУчетаПартий,
	|	НезавершенноеПроизводство.АналитикаРаспределенияЗатрат,
	|	
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка),
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка),
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПриходПоОсновномуСырьюРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по объему выпуска
		// по типу цен номенклатуры.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоОбъемуВыпускаЦеныНоменклатурыРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	ВыпускПродукции.АналитикаВидаУчета,
	|	ВыпускПродукции.АналитикаУчетаПартий,
	|	ВыпускПродукции.АналитикаРаспределенияЗатрат,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение КАК ПодразделениеНЗП,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК ПодразделениеНЗП,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	РегистрАналитикаУчетаПартий.Заказ КАК ЗаказНЗП,
	|
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация,
	|	""ВариантВыпускаПродукции"" КАК ВариантВыпускаПродукции, // Заменяется на ВыпускПродукции.ВариантВыпускаПродукции
	|	
	|	ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета 
	|		= ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Выпуск)
	|	ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	//ДляНалУчета (
	|	//ДляНалУчета ВыпускПродукции.Количество *
	|	//ДляНалУчета ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 	= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета ТОГДА
	|	//ДляНалУчета 	ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета ИНАЧЕ
	|	//ДляНалУчета 	1
	|	//ДляНалУчета КОНЕЦ
	|	//ДляНалУчета ) КАК БазаНУ,
	|	//ДляНалУчета (
	|	//ДляНалУчета ВыпускПродукции.Количество *
	|	//ДляНалУчета ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 	= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета ТОГДА
	|	//ДляНалУчета 	ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета ИНАЧЕ
	|	//ДляНалУчета 	1
	|	//ДляНалУчета КОНЕЦ
	|	//ДляНалУчета ) КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	(
	|	ВыпускПродукции.Количество *
	|	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	ТОГДА
	|		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	ИНАЧЕ
	|		1
	|	КОНЕЦ 
	|	) КАК База,
	|	(
	|	ВыпускПродукции.Количество *
	|	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	ТОГДА
	|		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	ИНАЧЕ
	|		1
	|	КОНЕЦ
	|	) КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.УчетЗатрат КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции%СуффиксУчета%
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета // Заменяется на АналитикаВидаУчетаЗатратыНаВыпуск
	|		{ГДЕ
	|			//ДляУпрУчета Подразделение.*
	|			//ДляРеглУчета ПодразделениеОрганизации.*
	|		}
	|		) КАК РегистрАналитикаВидаУчета
	|	ПО
	|		ВыпускПродукции.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		{ГДЕ
	|			НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|			Продукция.* КАК Продукция
	|		}
	|		) КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		ВыпускПродукции.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		ВыпускПродукции.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Номенклатура,
	|			ХарактеристикаНоменклатуры,
	|			Цена
	|		ИЗ
	|			РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры  // заменяется на временную таблицу ЦеныНоменклатуры
	|		ГДЕ
	|			ТипЦен = &ТипЦен
	|			И &ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|			
	|		) КАК ЦеныНоменклатуры
	|	ПО 
	|		РегистрАналитикаРаспределенияЗатрат.Продукция = ЦеныНоменклатуры.Номенклатура
	|		И РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
	|
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоОбъемуВыпускаЦеныНоменклатурыРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по объему выпуска
		// по типу цен номенклатуры.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаФактическаяЦенаРеализацииРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	ВыпускПродукции.АналитикаВидаУчета,
	|	ВыпускПродукции.АналитикаУчетаПартий,
	|	ВыпускПродукции.АналитикаРаспределенияЗатрат,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение КАК ПодразделениеНЗП,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК ПодразделениеНЗП,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	РегистрАналитикаУчетаПартий.Заказ КАК ЗаказНЗП,
	|
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация,
	|	""ВариантВыпускаПродукции"" КАК ВариантВыпускаПродукции, // Заменяется на ВыпускПродукции.ВариантВыпускаПродукции
	|	
	|	ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета 
	|		= ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Выпуск)
	|	ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляНалУчета (
	|	//ДляНалУчета ВыпускПродукции.Количество *
	|	//ДляНалУчета ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|	//ДляНалУчета 	Продажи.Стоимость /
	|	//ДляНалУчета  	Продажи.Количество
	|	//ДляНалУчета ИНАЧЕ
	|	//ДляНалУчета 	1
	|	//ДляНалУчета КОНЕЦ
	|	//ДляНалУчета ) КАК БазаНУ,
	|	//ДляНалУчета (
	|	//ДляНалУчета ВыпускПродукции.Количество *
	|	//ДляНалУчета ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|	//ДляНалУчета 	Продажи.Стоимость /
	|	//ДляНалУчета  	Продажи.Количество
	|	//ДляНалУчета ИНАЧЕ
	|	//ДляНалУчета 	1
	|	//ДляНалУчета КОНЕЦ
	|	//ДляНалУчета ) КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	(
	|	ВыпускПродукции.Количество *
	|	ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|   	Продажи.Стоимость /
	|   	Продажи.Количество
	|	ИНАЧЕ
	|		1
	|	КОНЕЦ
	|	) КАК База,
	|	(
	|	ВыпускПродукции.Количество *
	|	ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|   	Продажи.Стоимость /
	|   	Продажи.Количество
	|	ИНАЧЕ
	|		1
	|	КОНЕЦ
	|	) КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.УчетЗатрат КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции%СуффиксУчета%
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета // Заменяется на АналитикаВидаУчетаЗатратыНаВыпуск
	|		{ГДЕ
	|			//ДляУпрУчета Подразделение.*
	|			//ДляРеглУчета ПодразделениеОрганизации.*
	|		}
	|		) КАК РегистрАналитикаВидаУчета
	|	ПО
	|		ВыпускПродукции.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		{ГДЕ
	|			НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|			Продукция.* КАК Продукция
	|		}
	|		) КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		ВыпускПродукции.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		ВыпускПродукции.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрНакопления.ВыпускПродукции КАК Продажи // заменяется на временную таблицу Продажи
	|	ПО
	|		РегистрАналитикаРаспределенияЗатрат.Продукция = Продажи.Продукция
	|		И РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции = Продажи.ХарактеристикаПродукции
	|		И РегистрАналитикаРаспределенияЗатрат.СерияПродукции = Продажи.СерияПродукции
	|		И (РегистрАналитикаУчетаПартий.Заказ = Продажи.Заказ
	|			ИЛИ РегистрАналитикаУчетаПартий.Заказ = Неопределено
	|			ИЛИ РегистрАналитикаУчетаПартий.Заказ ССЫЛКА Документ.ЗаказНаПроизводство)
	|
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаФактическаяЦенаРеализацииРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по нормативам.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоНормативамРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	ВыпускПродукции.АналитикаВидаУчета,
	|	ВыпускПродукции.АналитикаУчетаПартий,
	|	ВыпускПродукции.АналитикаРаспределенияЗатрат,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение КАК ПодразделениеНЗП,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК ПодразделениеНЗП,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	РегистрАналитикаУчетаПартий.Заказ КАК ЗаказНЗП,
	|
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация,
	|	""ВариантВыпускаПродукции"" КАК ВариантВыпускаПродукции, // Заменяется на ВыпускПродукции.ВариантВыпускаПродукции
	|	
	|	ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета 
	|		= ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Выпуск)
	|	ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	//ДляНалУчета (
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета 	ЕСТЬNULL(ПлановаяСебестоимость.Цена, 0)
	|	//ДляНалУчета ) КАК БазаНУ,
	|	//ДляНалУчета (
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета 	ЕСТЬNULL(ПлановаяСебестоимость.Цена, 0)
	|	//ДляНалУчета ) КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	(
	|	ВыпускПродукции.Количество *
	|	ЕСТЬNULL(ПлановаяСебестоимость.Цена, 0)
	|	) КАК База,
	|	(
	|	ВыпускПродукции.Количество *
	|	ЕСТЬNULL(ПлановаяСебестоимость.Цена, 0)
	|	) КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.УчетЗатрат КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции%СуффиксУчета%
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета // Заменяется на АналитикаВидаУчетаЗатратыНаВыпуск
	|		{ГДЕ
	|			//ДляУпрУчета Подразделение.*
	|			//ДляРеглУчета ПодразделениеОрганизации.*
	|		}
	|		) КАК РегистрАналитикаВидаУчета
	|	ПО
	|		ВыпускПродукции.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		{ГДЕ
	|			НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|			Продукция.* КАК Продукция
	|		}
	|		) КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		ВыпускПродукции.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		ВыпускПродукции.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ПлановаяСебестоимость.Номенклатура,
	|			ПлановаяСебестоимость.ХарактеристикаНоменклатуры,
	|			СУММА(ПлановаяСебестоимость.Сумма) КАК Цена
	|		ИЗ
	|	 		РегистрСведений.ПлановаяСебестоимостьНоменклатуры.СрезПоследних(&КонДата,
	|			{
	|				СтатьяЗатрат.* 	КАК СтатьяЗатрат,
	|				СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|				СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|				СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|			}
	|			) КАК ПлановаяСебестоимость
	|		СГРУППИРОВАТЬ ПО
	|			ПлановаяСебестоимость.Номенклатура,
	|			ПлановаяСебестоимость.ХарактеристикаНоменклатуры
	|			
	|		) КАК ПлановаяСебестоимость
	|	ПО 
	|		РегистрАналитикаРаспределенияЗатрат.Продукция = ПлановаяСебестоимость.Номенклатура
	|		И РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции = ПлановаяСебестоимость.ХарактеристикаНоменклатуры
	|
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоНормативамРасширеннаяАналитика()
		// Функция формирования запроса для базы распределения по объему продаж
		// по типу цен номенклатуры.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоОбъемуПродажРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	ВыпускПродукции.АналитикаВидаУчета,
	|	ВыпускПродукции.АналитикаУчетаПартий,
	|	ВыпускПродукции.АналитикаРаспределенияЗатрат,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляБухУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляНалУчета РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	РегистрАналитикаУчетаПартий.Заказ,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение КАК ПодразделениеНЗП,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК ПодразделениеНЗП,
	|	РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	РегистрАналитикаУчетаПартий.Заказ КАК ЗаказНЗП,
	|
	|	РегистрАналитикаРаспределенияЗатрат.Продукция,
	|	РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|	РегистрАналитикаРаспределенияЗатрат.Спецификация,
	|	""ВариантВыпускаПродукции"" КАК ВариантВыпускаПродукции, // Заменяется на ВыпускПродукции.ВариантВыпускаПродукции
	|	
	|	ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета 
	|		= ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Выпуск)
	|	ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	//ДляНалУчета 0 КАК БазаНУ,
	|	//ДляНалУчета 0	КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	(
	|	ВыпускПродукции.Количество *
	|	ВЫБОР КОГДА ВыпускПродукцииВсего.Количество <> 0 ТОГДА
	|		Продажи.Количество /
	|		ВыпускПродукцииВсего.Количество
	|	ИНАЧЕ	
	|		1
	|	КОНЕЦ *
	|	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	ТОГДА
	|		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	КОГДА &ПоказательБазыРаспределения 
	|		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ФактическаяЦенаРеализации)
	|	ТОГДА
	|		ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|      		Продажи.Стоимость /
	|      		Продажи.Количество
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|	ИНАЧЕ
	|		1
	|	КОНЕЦ
	|	) КАК База,
	|	(
	|	ВыпускПродукции.Количество *
	|	ВЫБОР КОГДА ВыпускПродукцииВсего.Количество <> 0 ТОГДА
	|		Продажи.Количество /
	|		ВыпускПродукцииВсего.Количество
	|	ИНАЧЕ	
	|		1
	|	КОНЕЦ *
	|	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	ТОГДА
	|		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	КОГДА &ПоказательБазыРаспределения 
	|		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ФактическаяЦенаРеализации)
	|	ТОГДА
	|		ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|      		Продажи.Стоимость /
	|      		Продажи.Количество
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|	ИНАЧЕ
	|		1
	|	КОНЕЦ
	|	) КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.УчетЗатрат КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции%СуффиксУчета%
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета // Заменяется на АналитикаВидаУчетаЗатратыНаВыпуск
	|		{ГДЕ
	|			//ДляУпрУчета Подразделение.*
	|			//ДляРеглУчета ПодразделениеОрганизации.*
	|		}
	|		) КАК РегистрАналитикаВидаУчета
	|	ПО
	|		ВыпускПродукции.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			*
	|		ИЗ
	|			РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|		{ГДЕ
	|			НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|			Продукция.* КАК Продукция
	|		}
	|		) КАК РегистрАналитикаРаспределенияЗатрат
	|	ПО
	|		ВыпускПродукции.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		ВыпускПродукции.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрНакопления.ВыпускПродукции КАК Продажи // заменяется на временную таблицу Продажи
	|	ПО
	|		РегистрАналитикаРаспределенияЗатрат.Продукция = Продажи.Продукция
	|		И РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции = Продажи.ХарактеристикаПродукции
	|		И РегистрАналитикаРаспределенияЗатрат.СерияПродукции = Продажи.СерияПродукции
	|		И (РегистрАналитикаУчетаПартий.Заказ = Продажи.Заказ
	|			ИЛИ РегистрАналитикаУчетаПартий.Заказ = Неопределено
	|			ИЛИ РегистрАналитикаУчетаПартий.Заказ ССЫЛКА Документ.ЗаказНаПроизводство)
	|		И (
	|			//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение = Продажи.Подразделение
	|			//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации = Продажи.Подразделение
	|			ИЛИ Продажи.Подразделение = Неопределено)
	|			
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|
	|		// Выпуск продукции по всем подразделениям.
	|		ВЫБРАТЬ
	|			Неопределено КАК Подразделение,
	|			РегистрАналитикаРаспределенияЗатрат.Продукция,
	|			РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|			РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|			РегистрАналитикаУчетаПартий.Заказ,
	|			СУММА(ВыпускПродукции.Количество) КАК Количество
	|
	|		ИЗ
	|			РегистрНакопления.УчетЗатрат КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции
	|		
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|				РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|			ПО
	|				ВыпускПродукции.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|				РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|			ПО
	|				ВыпускПродукции.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|		СГРУППИРОВАТЬ ПО
	|			РегистрАналитикаРаспределенияЗатрат.Продукция,
	|			РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|			РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|			РегистрАналитикаУчетаПартий.Заказ
	|
	|		ОБЪЕДИНИТЬ ВСЕ
	|
	|		// Выпуск продукции по подразделению.
	|		ВЫБРАТЬ
	|			//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение КАК Подразделение,
	|			//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|			РегистрАналитикаРаспределенияЗатрат.Продукция,
	|			РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|			РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|			РегистрАналитикаУчетаПартий.Заказ,
	|			СУММА(ВыпускПродукции.Количество) КАК Количество
	|
	|		ИЗ
	|			РегистрНакопления.УчетЗатрат КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции
	|		
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|				РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|			ПО
	|				ВыпускПродукции.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|				РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрАналитикаРаспределенияЗатрат
	|			ПО
	|				ВыпускПродукции.АналитикаРаспределенияЗатрат = РегистрАналитикаРаспределенияЗатрат.Ссылка
	|		
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|				РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|			ПО
	|				ВыпускПродукции.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|		СГРУППИРОВАТЬ ПО
	|			//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|			//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|			РегистрАналитикаРаспределенияЗатрат.Продукция,
	|			РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции,
	|			РегистрАналитикаРаспределенияЗатрат.СерияПродукции,
	|			РегистрАналитикаУчетаПартий.Заказ
	|
	|		) КАК ВыпускПродукцииВсего
	|	ПО
	|		РегистрАналитикаРаспределенияЗатрат.Продукция = ВыпускПродукцииВсего.Продукция
	|		И РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции = ВыпускПродукцииВсего.ХарактеристикаПродукции
	|		И РегистрАналитикаРаспределенияЗатрат.СерияПродукции = ВыпускПродукцииВсего.СерияПродукции
	|		И РегистрАналитикаУчетаПартий.Заказ = ВыпускПродукцииВсего.Заказ
	|		И Продажи.Подразделение = ВыпускПродукцииВсего.Подразделение
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Номенклатура,
	|			ХарактеристикаНоменклатуры,
	|			Цена
	|		ИЗ
	|			РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры  // заменяется на временную таблицу ЦеныНоменклатуры
	|		ГДЕ
	|			ТипЦен = &ТипЦен
	|			И &ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|			
	|		) КАК ЦеныНоменклатуры
	|	ПО 
	|		РегистрАналитикаРаспределенияЗатрат.Продукция = ЦеныНоменклатуры.Номенклатура
	|		И РегистрАналитикаРаспределенияЗатрат.ХарактеристикаПродукции = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоОбъемуПродажРасширеннаяАналитика()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ТЕКСТОВ ЗАПРОСА ДЛЯ РАСЧЕТА БАЗЫ РАСПРЕДЕЛЕНИЯ
		// Функция формирования запроса для базы распределения по стоимости затрат.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоСтоимостиЗатрат(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Заказ,
	|
	|	ЗатратыНаВыпуск.ПодразделениеНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация,
	|	
	|	Неопределено КАК ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0 ТОГДА
	|	//ДляНалУчета 		ЗатратыНаВыпуск.Количество *
	|	//ДляНалУчета 		ЕСТЬNULL(НезавершенноеПроизводство.СтоимостьОстаток, 0) /
	|	//ДляНалУчета 		ЕСТЬNULL(НезавершенноеПроизводство.КоличествоОстаток, 1)
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		ЗатратыНаВыпуск.Сумма
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК БазаНУ,
	|	//ДляНалУчета 0 КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	СУММА(
	|		ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток <> 0
	|			И Не &РаспределениеКосвенныхЗатрат
	|		ТОГДА
	|			ЗатратыНаВыпуск.Количество *
	|			(ЕСТЬNULL(НезавершенноеПроизводство.СтоимостьОстаток, 0) 
	|			//ДляНалУчета + ЕСТЬNULL(НезавершенноеПроизводство.ВременнаяРазницаОстаток, 0) 
	|			//ДляНалУчета + ЕСТЬNULL(НезавершенноеПроизводство.ПостояннаяРазницаОстаток, 0)
	|			) /
	|			ЕСТЬNULL(НезавершенноеПроизводство.КоличествоОстаток, 1)
	|		ИНАЧЕ
	|			ЗатратыНаВыпуск.Сумма
	|			//ДляНалУчета + ЗатратыНаВыпуск.ВременнаяРазница
	|			//ДляНалУчета + ЗатратыНаВыпуск.ПостояннаяРазница
	|		КОНЕЦ
	|	) КАК База,
	|	0 КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск // заменяется на временную таблицу ЗатратыНаВыпуск
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.Остатки(&КонГраница, 
	|			Не Затрата Ссылка Перечисление.ХарактерЗатрат
	|			//ДляРеглУчета И Организация = &Организация
	|			{
	|				//ДляУпрУчета Подразделение.* КАК Подразделение,
	|				//ДляРеглУчета Подразделение.* КАК ПодразделениеОрганизации,
	|				НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|				СтатьяЗатрат.* КАК СтатьяЗатрат,
	|				СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|				СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|				СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|			}
	|		) КАК НезавершенноеПроизводство
	|	ПО
	|		НезавершенноеПроизводство.Подразделение = ЗатратыНаВыпуск.ПодразделениеНЗП
	|		И НезавершенноеПроизводство.НоменклатурнаяГруппа = ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП
	|		И НезавершенноеПроизводство.СтатьяЗатрат = ЗатратыНаВыпуск.СтатьяЗатрат
	|		И НезавершенноеПроизводство.Затрата = ЗатратыНаВыпуск.Затрата
	|		И НезавершенноеПроизводство.ХарактеристикаЗатраты = ЗатратыНаВыпуск.ХарактеристикаЗатраты
	|		И НезавершенноеПроизводство.СерияЗатраты = ЗатратыНаВыпуск.СерияЗатраты
	|		И НезавершенноеПроизводство.Заказ = ЗатратыНаВыпуск.ЗаказНЗП
	|		
	|		//ДляРеглУчета И ((ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат <>
	|		//ДляРеглУчета			ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку)
	|		//ДляРеглУчета	И НезавершенноеПроизводство.СчетУчета = ЗатратыНаВыпуск.СчетУчета)
	|		//ДляРеглУчета	ИЛИ ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат =
	|		//ДляРеглУчета			ЗНАЧЕНИЕ(Перечисление.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку))
	|	
	|ГДЕ
	|	ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты)
	|		
	|{ГДЕ
	|	//ДляУпрУчета ЗатратыНаВыпуск.Подразделение.* КАК Подразделение,
	|	//ДляРеглУчета ЗатратыНаВыпуск.Подразделение.* КАК ПодразделениеОрганизации,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Продукция.* КАК Продукция,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.* КАК СтатьяЗатрат,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|}
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Заказ,
	|
	|	ЗатратыНаВыпуск.ПодразделениеНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоСтоимостиЗатрат()
		// Функция формирования запроса для базы распределения по стоимости затрат.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПриходПоСтоимостиЗатрат(/**/)
		{
			/*ТекстЗапроса = "
	|
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|
	|	НезавершенноеПроизводство.Подразделение КАК ПодразделениеНЗП,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	НезавершенноеПроизводство.Заказ КАК ЗаказНЗП,
	|	
	|	Неопределено КАК Продукция,
	|	Неопределено КАК ХарактеристикаПродукции,
	|	Неопределено КАК СерияПродукции,
	|	Неопределено КАК Спецификация,
	|	Неопределено КАК ВариантВыпускаПродукции,
	|	Неопределено КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляНалУчета 0 КАК БазаНУ,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.СтоимостьПриход) КАК БазаПриходНУ,
	|	//ДляНалУчета СУММА(НезавершенноеПроизводство.СтоимостьКонечныйОстаток) КАК БазаОстатокНЗПНУ,
	|
	|	0 КАК База,
	|	СУММА(НезавершенноеПроизводство.СтоимостьПриход
	|		//ДляНалУчета + НезавершенноеПроизводство.ВременнаяРазницаПриход
	|		//ДляНалУчета + НезавершенноеПроизводство.ПостояннаяРазницаПриход
	|		) КАК БазаПриход,
	|	СУММА(НезавершенноеПроизводство.СтоимостьКонечныйОстаток
	|		//ДляНалУчета + НезавершенноеПроизводство.ВременнаяРазницаКонечныйОстаток
	|		//ДляНалУчета + НезавершенноеПроизводство.ПостояннаяРазницаКонечныйОстаток
	|		) КАК БазаОстатокНЗП
	|	
	|ИЗ
	|	РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.ОстаткиИОбороты(, , , , ) КАК НезавершенноеПроизводство // заменяется на временную таблицу НезавершенноеПроизводство
	|
	|{ГДЕ
	|	//ДляУпрУчета НезавершенноеПроизводство.Подразделение.* КАК Подразделение,
	|	//ДляРеглУчета НезавершенноеПроизводство.Подразделение.* КАК ПодразделениеОрганизации,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.СтатьяЗатрат.* КАК СтатьяЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|}
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПриходПоСтоимостиЗатрат()
		// Функция формирования запроса для базы распределения по основному сырью.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоОсновномуСырью(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Заказ,
	|
	|	ЗатратыНаВыпуск.ПодразделениеНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация,
	|	
	|	Неопределено КАК ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА ЗатратыНаВыпуск.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ЗатратыНаВыпуск.Количество *
	|	//ДляНалУчета 	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК БазаНУ,
	|	//ДляНалУчета 0 КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	СУММА(
	|		ЗатратыНаВыпуск.Количество *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|	) КАК База,
	|	0 КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.ЗатратыНаВыпускПродукции%СуффиксУчета% КАК ЗатратыНаВыпуск // заменяется на временную таблицу ЗатратыНаВыпуск
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Номенклатура,
	|			ХарактеристикаНоменклатуры,
	|			Цена
	|		ИЗ
	|			РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры  // заменяется на временную таблицу ЦеныНоменклатуры
	|		ГДЕ
	|			ТипЦен = &ТипЦен
	|			И &ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|			
	|		) КАК ЦеныНоменклатуры
	|	ПО 
	|		ЗатратыНаВыпуск.Затрата = ЦеныНоменклатуры.Номенклатура
	|		И ЗатратыНаВыпуск.ХарактеристикаЗатраты = ЦеныНоменклатуры.ХарактеристикаНоменклатуры	
	|	
	|ГДЕ
	|	ЗатратыНаВыпуск.КодОперации В (&МассивКодыОперацийПрямыеЗатраты)
	|	И ЗатратыНаВыпуск.Затрата В (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			ОсновноеСырьеСостав.Номенклатура
	|		ИЗ
	|			Справочник.ОсновноеСырье.Состав КАК ОсновноеСырьеСостав
	|		ГДЕ
	|			ОсновноеСырьеСостав.Ссылка = &ОсновноеСырье
	|		)
	|		
	|{ГДЕ
	|	//ДляУпрУчета ЗатратыНаВыпуск.Подразделение.* КАК Подразделение,
	|	//ДляРеглУчета ЗатратыНаВыпуск.Подразделение.* КАК ПодразделениеОрганизации,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Продукция.* КАК Продукция,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.* КАК СтатьяЗатрат,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|	ЗатратыНаВыпуск.СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|}
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ЗатратыНаВыпуск.Организация,
	|	//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
	|	ЗатратыНаВыпуск.Подразделение,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппа,
	|	ЗатратыНаВыпуск.Заказ,
	|
	|	ЗатратыНаВыпуск.ПодразделениеНЗП,
	|	ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
	|	ЗатратыНаВыпуск.ЗаказНЗП,
	|
	|	ЗатратыНаВыпуск.Продукция,
	|	ЗатратыНаВыпуск.ХарактеристикаПродукции,
	|	ЗатратыНаВыпуск.СерияПродукции,
	|	ЗатратыНаВыпуск.Спецификация
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоОсновномуСырью()
		// Функция формирования запроса для базы распределения по основному сырью.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПриходПоОсновномуСырью(/**/)
		{
			/*ТекстЗапроса = "
	|
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|
	|	НезавершенноеПроизводство.Подразделение КАК ПодразделениеНЗП,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	НезавершенноеПроизводство.Заказ КАК ЗаказНЗП,
	|	
	|	Неопределено КАК Продукция,
	|	Неопределено КАК ХарактеристикаПродукции,
	|	Неопределено КАК СерияПродукции,
	|	Неопределено КАК Спецификация,
	|	Неопределено КАК ВариантВыпускаПродукции,
	|	Неопределено КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляНалУчета 0 КАК БазаНУ,
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоПриход *
	|	//ДляНалУчета 	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК БазаПриходНУ,
	|	//ДляНалУчета 	
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 		НезавершенноеПроизводство.КоличествоКонечныйОстаток *
	|	//ДляНалУчета 	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК БазаОстатокНЗПНУ,
	|
	|	0 КАК База,
	|	СУММА(
	|		НезавершенноеПроизводство.КоличествоПриход *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|	) КАК БазаПриход,
	|		
	|	СУММА(
	|		НезавершенноеПроизводство.КоличествоКонечныйОстаток *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|	) КАК БазаОстатокНЗП
	|	
	|ИЗ
	|	РегистрНакопления.НезавершенноеПроизводство%СуффиксУчета%.ОстаткиИОбороты(, , , , ) КАК НезавершенноеПроизводство // заменяется на временную таблицу НезавершенноеПроизводство
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Номенклатура,
	|			ХарактеристикаНоменклатуры,
	|			Цена
	|		ИЗ
	|			РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры  // заменяется на временную таблицу ЦеныНоменклатуры
	|		ГДЕ
	|			ТипЦен = &ТипЦен
	|			И &ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|			
	|		) КАК ЦеныНоменклатуры
	|	ПО 
	|		НезавершенноеПроизводство.Затрата = ЦеныНоменклатуры.Номенклатура
	|		И НезавершенноеПроизводство.ХарактеристикаЗатраты = ЦеныНоменклатуры.ХарактеристикаНоменклатуры	
	|
	|ГДЕ
	|	НезавершенноеПроизводство.Затрата В (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			ОсновноеСырьеСостав.Номенклатура
	|		ИЗ
	|			Справочник.ОсновноеСырье.Состав КАК ОсновноеСырьеСостав
	|		ГДЕ
	|			ОсновноеСырьеСостав.Ссылка = &ОсновноеСырье
	|		)
	|
	|{ГДЕ
	|	//ДляУпрУчета НезавершенноеПроизводство.Подразделение.* КАК Подразделение,
	|	//ДляРеглУчета НезавершенноеПроизводство.Подразделение.* КАК ПодразделениеОрганизации,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.СтатьяЗатрат.* КАК СтатьяЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|	НезавершенноеПроизводство.СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|}
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета НезавершенноеПроизводство.Организация,
	|	//ДляРеглУчета НезавершенноеПроизводство.СчетУчета,
	|	НезавершенноеПроизводство.Подразделение,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПриходПоОсновномуСырью()
		// Функция формирования запроса для базы распределения по объему выпуска
		// по типу цен номенклатуры.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоОбъемуВыпускаЦеныНоменклатуры(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП КАК СчетУчета,
	|
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|
	|	ВыпускПродукции.Подразделение КАК ПодразделениеНЗП,
	|	ВыпускПродукции.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	ВыпускПродукции.Заказ КАК ЗаказНЗП,
	|
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Справочник.СпецификацииНоменклатуры.ПустаяСсылка)
	|	ИНАЧЕ
	|		ВыпускПродукции.Спецификация
	|	КОНЕЦ КАК Спецификация,
	|	
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета 	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета 	) КАК БазаНУ,
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета 	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета 	) КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	СУММА(
	|		ВыпускПродукции.Количество *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|		) КАК База,
	|	СУММА(
	|		ВыпускПродукции.Количество *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|		) КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Номенклатура,
	|			ХарактеристикаНоменклатуры,
	|			Цена
	|		ИЗ
	|			РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры  // заменяется на временную таблицу ЦеныНоменклатуры
	|		ГДЕ
	|			ТипЦен = &ТипЦен
	|			И &ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|			
	|		) КАК ЦеныНоменклатуры
	|	ПО 
	|		ВыпускПродукции.Продукция = ЦеныНоменклатуры.Номенклатура
	|		И ВыпускПродукции.ХарактеристикаПродукции = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
	|	
	|{ГДЕ
	|	//ДляУпрУчета ВыпускПродукции.Подразделение.* КАК Подразделение,
	|	//ДляРеглУчета ВыпускПродукции.Подразделение.* КАК ПодразделениеОрганизации,
	|	ВыпускПродукции.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция.* КАК Продукция
	|}
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Справочник.СпецификацииНоменклатуры.ПустаяСсылка)
	|	ИНАЧЕ
	|		ВыпускПродукции.Спецификация
	|	КОНЕЦ,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоОбъемуВыпускаЦеныНоменклатуры()
		// Функция формирования запроса для базы распределения по объему выпуска
		// по типу цен номенклатуры.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаФактическаяЦенаРеализации(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП КАК СчетУчета,
	|
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|
	|	ВыпускПродукции.Подразделение КАК ПодразделениеНЗП,
	|	ВыпускПродукции.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	ВыпускПродукции.Заказ КАК ЗаказНЗП,
	|
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Справочник.СпецификацииНоменклатуры.ПустаяСсылка)
	|	ИНАЧЕ
	|		ВыпускПродукции.Спецификация
	|	КОНЕЦ КАК Спецификация,
	|	
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета	ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|	//ДляНалУчета  		Продажи.Стоимость /
	|	//ДляНалУчета  		Продажи.Количество
	|	//ДляНалУчета	ИНАЧЕ
	|	//ДляНалУчета		1
	|	//ДляНалУчета	КОНЕЦ
	|	//ДляНалУчета 	) КАК БазаНУ,
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета	ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|	//ДляНалУчета  		Продажи.Стоимость /
	|	//ДляНалУчета  		Продажи.Количество
	|	//ДляНалУчета	ИНАЧЕ
	|	//ДляНалУчета		1
	|	//ДляНалУчета	КОНЕЦ
	|	//ДляНалУчета 	) КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	СУММА(
	|		ВыпускПродукции.Количество *
	|		ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|   		Продажи.Стоимость /
	|   		Продажи.Количество
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|		) КАК База,
	|	СУММА(
	|		ВыпускПродукции.Количество *
	|		ВЫБОР КОГДА Продажи.Количество <> 0 ТОГДА
	|   		Продажи.Стоимость /
	|   		Продажи.Количество
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|		) КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрНакопления.ВыпускПродукции КАК Продажи // заменяется на временную таблицу Продажи
	|	ПО
	|		ВыпускПродукции.Продукция = Продажи.Продукция
	|		И ВыпускПродукции.ХарактеристикаПродукции = Продажи.ХарактеристикаПродукции
	|		И ВыпускПродукции.СерияПродукции = Продажи.СерияПродукции
	|		И (ВыпускПродукции.Заказ = Продажи.Заказ
	|			ИЛИ ВыпускПродукции.Заказ = Неопределено
	|			ИЛИ ВыпускПродукции.Заказ ССЫЛКА Документ.ЗаказНаПроизводство)
	|	
	|{ГДЕ
	|	//ДляУпрУчета ВыпускПродукции.Подразделение.* КАК Подразделение,
	|	//ДляРеглУчета ВыпускПродукции.Подразделение.* КАК ПодразделениеОрганизации,
	|	ВыпускПродукции.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция.* КАК Продукция
	|}
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Справочник.СпецификацииНоменклатуры.ПустаяСсылка)
	|	ИНАЧЕ
	|		ВыпускПродукции.Спецификация
	|	КОНЕЦ,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаФактическаяЦенаРеализации()
		// Функция формирования запроса для базы распределения по нормативам.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоНормативам(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП КАК СчетУчета,
	|
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|
	|	ВыпускПродукции.Подразделение КАК ПодразделениеНЗП,
	|	ВыпускПродукции.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	ВыпускПродукции.Заказ КАК ЗаказНЗП,
	|
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Справочник.СпецификацииНоменклатуры.ПустаяСсылка)
	|	ИНАЧЕ
	|		ВыпускПродукции.Спецификация
	|	КОНЕЦ КАК Спецификация,
	|	
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета 	ЕСТЬNULL(ПлановаяСебестоимость.Цена, 0)
	|	//ДляНалУчета 	) КАК БазаНУ,
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета 	ЕСТЬNULL(ПлановаяСебестоимость.Цена, 0)
	|	//ДляНалУчета 	) КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	СУММА(
	|		ВыпускПродукции.Количество *
	|		ЕСТЬNULL(ПлановаяСебестоимость.Цена, 0)
	|		) КАК База,
	|	СУММА(
	|		ВыпускПродукции.Количество *
	|		ЕСТЬNULL(ПлановаяСебестоимость.Цена, 0)
	|		) КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			ПлановаяСебестоимость.Номенклатура,
	|			ПлановаяСебестоимость.ХарактеристикаНоменклатуры,
	|			СУММА(ПлановаяСебестоимость.Сумма) КАК Цена
	|		ИЗ
	|	 		РегистрСведений.ПлановаяСебестоимостьНоменклатуры.СрезПоследних(&КонДата,
	|			{
	|				СтатьяЗатрат.* 	КАК СтатьяЗатрат,
	|				СтатьяЗатрат.ВидЗатрат.* КАК ВидЗатрат,
	|				СтатьяЗатрат.СтатусМатериальныхЗатрат.* КАК СтатусМатериальныхЗатрат,
	|				СтатьяЗатрат.ХарактерЗатрат.* КАК ХарактерЗатрат
	|			}
	|			) КАК ПлановаяСебестоимость
	|		СГРУППИРОВАТЬ ПО
	|			ПлановаяСебестоимость.Номенклатура,
	|			ПлановаяСебестоимость.ХарактеристикаНоменклатуры
	|			
	|		) КАК ПлановаяСебестоимость
	|	ПО 
	|		ВыпускПродукции.Продукция = ПлановаяСебестоимость.Номенклатура
	|		И ВыпускПродукции.ХарактеристикаПродукции = ПлановаяСебестоимость.ХарактеристикаНоменклатуры
	|	
	|{ГДЕ
	|	//ДляУпрУчета ВыпускПродукции.Подразделение.* КАК Подразделение,
	|	//ДляРеглУчета ВыпускПродукции.Подразделение.* КАК ПодразделениеОрганизации,
	|	ВыпускПродукции.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция.* КАК Продукция
	|}
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Справочник.СпецификацииНоменклатуры.ПустаяСсылка)
	|	ИНАЧЕ
	|		ВыпускПродукции.Спецификация
	|	КОНЕЦ,
	|	ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИНАЧЕ
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	КОНЕЦ
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоНормативам()
		// Функция формирования запроса для базы распределения по объему продаж
		// по типу цен номенклатуры.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаПоОбъемуПродаж(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП КАК СчетУчета,
	|
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|
	|	ВыпускПродукции.Подразделение КАК ПодразделениеНЗП,
	|	ВыпускПродукции.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	ВыпускПродукции.Заказ КАК ЗаказНЗП,
	|
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	
	|	ВыпускПродукции.ВариантВыпускаПродукции,
	|	ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск) КАК ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|		
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета	ВЫБОР КОГДА ВыпускПродукцииВсего.Количество <> 0 ТОГДА
	|	//ДляНалУчета		Продажи.Количество /
	|	//ДляНалУчета		ВыпускПродукцииВсего.Количество
	|	//ДляНалУчета	ИНАЧЕ
	|	//ДляНалУчета		1
	|	//ДляНалУчета	КОНЕЦ *
	|	//ДляНалУчета 	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета 	КОГДА &ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ФактическаяЦенаРеализации)
	|	//ДляНалУчета		И Продажи.Количество <> 0
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета  		Продажи.Стоимость /
	|	//ДляНалУчета		Продажи.Количество
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета 	) КАК БазаНУ,
	|	
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВыпускПродукции.Количество *
	|	//ДляНалУчета	ВЫБОР КОГДА ВыпускПродукцииВсего.Количество <> 0 ТОГДА
	|	//ДляНалУчета		Продажи.Количество /
	|	//ДляНалУчета		ВыпускПродукцииВсего.Количество
	|	//ДляНалУчета	ИНАЧЕ
	|	//ДляНалУчета		1
	|	//ДляНалУчета	КОНЕЦ *
	|	//ДляНалУчета 	ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|	//ДляНалУчета 	КОГДА &ПоказательБазыРаспределения 
	|	//ДляНалУчета 		= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ФактическаяЦенаРеализации)
	|	//ДляНалУчета		И Продажи.Количество <> 0
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		Продажи.Стоимость /
	|	//ДляНалУчета 		Продажи.Количество
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета 	) КАК БазаПриходНУ,
	|	//ДляНалУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	СУММА(
	|		ВыпускПродукции.Количество *
	|		ВЫБОР КОГДА ВыпускПродукцииВсего.Количество <> 0 ТОГДА
	|			Продажи.Количество /
	|			ВыпускПродукцииВсего.Количество
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		КОГДА &ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ФактическаяЦенаРеализации)
	|			И Продажи.Количество <> 0
	|		ТОГДА
	|        	Продажи.Стоимость /
	|        	Продажи.Количество
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|		) КАК База,
	|	СУММА(
	|		ВыпускПродукции.Количество *
	|		ВЫБОР КОГДА ВыпускПродукцииВсего.Количество <> 0 ТОГДА
	|			Продажи.Количество /
	|			ВыпускПродукцииВсего.Количество
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ *
	|		ВЫБОР КОГДА	&ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|		ТОГДА
	|			ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
	|		КОГДА &ПоказательБазыРаспределения 
	|			= ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ФактическаяЦенаРеализации)
	|			И Продажи.Количество <> 0
	|		ТОГДА
	|        	Продажи.Стоимость /
	|        	Продажи.Количество
	|		ИНАЧЕ
	|			1
	|		КОНЕЦ
	|		) КАК БазаПриход,
	|	0 КАК БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрНакопления.ВыпускПродукции КАК Продажи // заменяется на временную таблицу Продажи
	|	ПО
	|		ВыпускПродукции.Продукция = Продажи.Продукция
	|		И ВыпускПродукции.ХарактеристикаПродукции = Продажи.ХарактеристикаПродукции
	|		И ВыпускПродукции.СерияПродукции = Продажи.СерияПродукции
	|		И (ВыпускПродукции.Заказ = Продажи.Заказ
	|			ИЛИ ВыпускПродукции.Заказ = Неопределено
	|			ИЛИ ВыпускПродукции.Заказ ССЫЛКА Документ.ЗаказНаПроизводство)
	|		И (ВыпускПродукции.Подразделение = Продажи.Подразделение
	|			ИЛИ Продажи.Подразделение = Неопределено)
	|			
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|
	|		// Выпуск продукции по всем подразделениям.
	|		ВЫБРАТЬ
	|			Неопределено КАК Подразделение,
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции,
	|			ВыпускПродукции.Заказ,
	|			СУММА(ВыпускПродукции.Количество) КАК Количество
	|	
	|		ИЗ
	|			РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции
	|
	|		СГРУППИРОВАТЬ ПО
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции,
	|			ВыпускПродукции.Заказ
	|		
	|		ОБЪЕДИНИТЬ ВСЕ
	|			
	|		// Выпуск продукции по подразделению.
	|		ВЫБРАТЬ
	|			ВыпускПродукции.Подразделение,
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции,
	|			ВыпускПродукции.Заказ,
	|			СУММА(ВыпускПродукции.Количество) КАК Количество
	|	
	|		ИЗ
	|			РегистрНакопления.ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции // заменяется на временную таблицу ВыпускПродукции
	|
	|		СГРУППИРОВАТЬ ПО
	|			ВыпускПродукции.Подразделение,
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции,
	|			ВыпускПродукции.Заказ	
	|
	|		) КАК ВыпускПродукцииВсего
	|	ПО
	|		ВыпускПродукции.Продукция = ВыпускПродукцииВсего.Продукция
	|		И ВыпускПродукции.ХарактеристикаПродукции = ВыпускПродукцииВсего.ХарактеристикаПродукции
	|		И ВыпускПродукции.СерияПродукции = ВыпускПродукцииВсего.СерияПродукции
	|		И ВыпускПродукции.Заказ = ВыпускПродукцииВсего.Заказ
	|		И Продажи.Подразделение = ВыпускПродукцииВсего.Подразделение
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Номенклатура,
	|			ХарактеристикаНоменклатуры,
	|			Цена
	|		ИЗ
	|			РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры  // заменяется на временную таблицу ЦеныНоменклатуры
	|		ГДЕ
	|			ТипЦен = &ТипЦен
	|			И &ПоказательБазыРаспределения = ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ЦеныНоменклатуры)
	|			
	|		) КАК ЦеныНоменклатуры
	|	ПО 
	|		ВыпускПродукции.Продукция = ЦеныНоменклатуры.Номенклатура
	|		И ВыпускПродукции.ХарактеристикаПродукции = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
	|
	|ГДЕ
	|	ВыпускПродукции.Спецификация <> Неопределено
	|	
	|{ГДЕ
	|	//ДляУпрУчета ВыпускПродукции.Подразделение.* КАК Подразделение,
	|	//ДляРеглУчета ВыпускПродукции.Подразделение.* КАК ПодразделениеОрганизации,
	|	ВыпускПродукции.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	ВыпускПродукции.Продукция.* КАК Продукция
	|}
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета ВыпускПродукции.Организация,
	|	//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|	ВыпускПродукции.Подразделение,
	|	ВыпускПродукции.НоменклатурнаяГруппа,
	|	ВыпускПродукции.Заказ,
	|
	|	ВыпускПродукции.Продукция,
	|	ВыпускПродукции.ХарактеристикаПродукции,
	|	ВыпускПродукции.СерияПродукции,
	|	ВыпускПродукции.Спецификация,
	|	
	|	ВыпускПродукции.ВариантВыпускаПродукции
	|
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаПоОбъемуПродаж()
		// Функция формирования запроса для базы распределения "Вручную".
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаБазаВручную(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	&СпособРаспределенияЗатрат КАК РассчитанныйСпособРаспределения,
	|
	|	//ДляУпрУчета БазаРаспределенияЗатрат.АналитикаВидаУчета,
	|	//ДляУпрУчета БазаРаспределенияЗатрат.АналитикаУчетаПартий,
	|	//ДляУпрУчета БазаРаспределенияЗатрат.АналитикаРаспределенияЗатрат,
	|
	|	//ДляБухУчета БазаРаспределенияЗатрат.АналитикаВидаУчета,
	|	//ДляБухУчета БазаРаспределенияЗатрат.АналитикаУчетаПартий,
	|	//ДляБухУчета БазаРаспределенияЗатрат.АналитикаРаспределенияЗатрат,
	|
	|	//ДляНалУчета Неопределено КАК АналитикаВидаУчета,
	|	//ДляНалУчета Неопределено КАК АналитикаУчетаПартий,
	|	//ДляНалУчета Неопределено КАК АналитикаРаспределенияЗатрат,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|
	|	БазаРаспределенияЗатрат.Подразделение КАК ПодразделениеНЗП,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа КАК НоменклатурнаяГруппаНЗП,
	|	БазаРаспределенияЗатрат.Заказ КАК ЗаказНЗП,
	|
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	
	|	БазаРаспределенияЗатрат.ВариантВыпускаПродукции,
	|	БазаРаспределенияЗатрат.ВидВыпуска,
	|
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ,
	|
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ,
	|	
	|	//ДляНалУчета БазаРаспределенияЗатрат.БазаНУ,
	|	//ДляНалУчета БазаРаспределенияЗатрат.БазаПриходНУ,
	|	//ДляНалУчета БазаРаспределенияЗатрат.БазаОстатокНЗПНУ,
	|		
	|	БазаРаспределенияЗатрат.База,
	|	БазаРаспределенияЗатрат.БазаПриход,
	|	БазаРаспределенияЗатрат.БазаОстатокНЗП
	|
	|ПОМЕСТИТЬ БазаРаспределения%СуффиксУчета%
	|ИЗ
	|	РегистрСведений.БазаРаспределенияЗатрат%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|
	|ГДЕ
	|	БазаРаспределенияЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|	И БазаРаспределенияЗатрат.Активность
	|	И БазаРаспределенияЗатрат.СпособРаспределенияЗатрат = &СпособРаспределенияЗатрат
	|	И Не РасчетСебестоимостиВыпуска
	|	//ДляРеглУчета И Организация = &Организация
	|	
	|{ГДЕ
	|	БазаРаспределенияЗатрат.Подразделение.* КАК ПодразделениеОрганизации,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Продукция.* КАК Продукция
	|}
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаБазаВручную()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ИНИЦИАЛИЗАЦИИ ПОСТРОИТЕЛЯ ЗАПРОСА
		// Процедура добавляет элемент отбора постоителя запроса с видом сравнения "Равно".
		//
		// Параметры:
		//	ИмяЭлементаОтбора - Строка - Имя элемента отбора
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	ПостроительЗапроса - ПостроительЗапроса
		//

		public void ДобавитьЭлементОтбораПостроителяЗапросаРавно(/*
	ИмяЭлементаОтбора,
	СтруктураПараметров,
	ПостроительЗапроса
	*/)
		{
			if(true/*Не СтруктураПараметров.Свойство(ИмяЭлементаОтбора)*/)
			{
			}
			//ТипЗначения = ТипЗнч(СтруктураПараметров[ИмяЭлементаОтбора]);
			if(true/*ПостроительЗапроса.ДоступныеПоля.Найти(ИмяЭлементаОтбора) <> Неопределено
	   И ПостроительЗапроса.ДоступныеПоля[ИмяЭлементаОтбора].ТипЗначения.СодержитТип(ТипЗначения)
	   И ПостроительЗапроса.ДоступныеПоля[ИмяЭлементаОтбора].Отбор*/)
			{
				//ПостроительЗапроса.Отбор.Добавить(ИмяЭлементаОтбора);
				//ПостроительЗапроса.Отбор[ИмяЭлементаОтбора].Использование = Истина;
				//ПостроительЗапроса.Отбор[ИмяЭлементаОтбора].ВидСравнения = ВидСравнения.Равно;
				//ПостроительЗапроса.Отбор[ИмяЭлементаОтбора].Значение = СтруктураПараметров[ИмяЭлементаОтбора];
			}
		}
		// ДобавитьЭлементОтбораПостроителяЗапросаРавно()
		// Процедура добавляет элемент отбора постоителя запроса с видом сравнения "В списке".
		//
		// Параметры:
		//	ИмяЭлементаОтбора - Строка - Имя элемента отбора
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	СписокЗначений - СписокЗначений - Список для отбора
		//	ПостроительЗапроса - ПостроительЗапроса
		//

		public void ДобавитьЭлементОтбораПостроителяЗапросаВСписке(/*
	ИмяЭлементаОтбора,
	СтруктураПараметров,
	СписокЗначений,
	ПостроительЗапроса
	*/)
		{
			if(true/*ПостроительЗапроса.ДоступныеПоля.Найти(ИмяЭлементаОтбора) <> Неопределено
	   И ПостроительЗапроса.ДоступныеПоля[ИмяЭлементаОтбора].Отбор*/)
			{
				//ПостроительЗапроса.Отбор.Добавить(ИмяЭлементаОтбора);
				//ПостроительЗапроса.Отбор[ИмяЭлементаОтбора].Использование = Истина;
				//ПостроительЗапроса.Отбор[ИмяЭлементаОтбора].ВидСравнения = ВидСравнения.ВСписке;
				//ПостроительЗапроса.Отбор[ИмяЭлементаОтбора].Значение = СписокЗначений;
			}
		}
		// ДобавитьЭлементОтбораПостроителяЗапросаВСписке()
		// Процедура устанавливает параметры построителя запроса.
		//
		// Параметры:
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	ПостроительЗапроса - ПостроительЗапроса
		//

		public void УстановитьПараметрыПостроителяЗапроса(/*
	СтруктураПараметров,
	ПостроительЗапроса
	*/)
		{
			//ПостроительЗапроса.Параметры.Вставить("НачДата", СтруктураПараметров.НачДата);
			//ПостроительЗапроса.Параметры.Вставить("КонДата", СтруктураПараметров.КонДата);
			//ПостроительЗапроса.Параметры.Вставить("НачГраница", СтруктураПараметров.НачГраница);
			//ПостроительЗапроса.Параметры.Вставить("КонГраница", СтруктураПараметров.КонГраница);
			//ПостроительЗапроса.Параметры.Вставить("ВалютаУчета", СтруктураПараметров.ВалютаУчета);
			//ПостроительЗапроса.Параметры.Вставить("ВалютаУпрУчета", глЗначениеПеременной("ВалютаУправленческогоУчета"));
			//ПостроительЗапроса.Параметры.Вставить("Организация", СтруктураПараметров.Организация);
			//ПостроительЗапроса.Параметры.Вставить("СтатусМатериальныхЗатратПринятые", Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку);
			//МассивПустыхЗаказов = Новый Массив;
			//МассивПустыхЗаказов.Добавить(Документы.ЗаказПокупателя.ПустаяСсылка());
			//МассивПустыхЗаказов.Добавить(Документы.ЗаказНаПроизводство.ПустаяСсылка());
			//ПостроительЗапроса.Параметры.Вставить("ПустойЗаказ", МассивПустыхЗаказов);
			//МассивИсключаемыхКодовОпераций = Новый Массив;
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.СписаниеНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ОприходованиеНЗП);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.КорректировкаНЗПФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваРасч);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВозвратМатериаловИзПроизводстваФикс);
			//МассивИсключаемыхКодовОпераций.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииПоФиксированнойСтоимости);
			//ПостроительЗапроса.Параметры.Вставить("ИсключаемыеКодыОпераций", МассивИсключаемыхКодовОпераций);
			//МассивКодовОперацийСписаниеНаЗатраты = Новый Массив;
			//МассивКодовОперацийСписаниеНаЗатраты.Добавить(Перечисления.КодыОперацийВыпускПродукции.ВыпускПродукцииФиксВнутрУслугиНаПостЗатраты);
			//ПостроительЗапроса.Параметры.Вставить("КодыОперацийСписаниеНаЗатраты", МассивКодовОперацийСписаниеНаЗатраты);
			//МассивКодовОперацийСписанияПартии = Новый Массив;
			//МассивКодовОперацийСписанияПартии.Добавить(Перечисления.КодыОперацийПартииТоваров.СписаниеНаБрак);
			//МассивКодовОперацийСписанияПартии.Добавить(Перечисления.КодыОперацийПартииТоваров.СписаниеНаЗатраты);
			//ПостроительЗапроса.Параметры.Вставить("КодыОперацийСписанияПартии", МассивКодовОперацийСписанияПартии);
			//МассивКодовОперацийРеализация = Новый Массив;
			//МассивКодовОперацийРеализация.Добавить(Перечисления.КодыОперацийПартииТоваров.Реализация);
			//МассивКодовОперацийРеализация.Добавить(Перечисления.КодыОперацийПартииТоваров.РеализацияКомиссия);
			//МассивКодовОперацийРеализация.Добавить(Перечисления.КодыОперацийПартииТоваров.РеализацияРозница);
			//ПостроительЗапроса.Параметры.Вставить("КодыОперацийПартииТоваров", МассивКодовОперацийРеализация);
			//МассивКодыОперацийПрямыеЗатраты = Новый Массив;
			//МассивКодыОперацийПрямыеЗатраты.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ПрямыеЗатраты);
			//МассивКодыОперацийПрямыеЗатраты.Добавить(Перечисления.КодыОперацийЗатратыНаВыпускПродукции.ОтрицательныеЗатраты);
			//ПостроительЗапроса.Параметры.Вставить("МассивКодыОперацийПрямыеЗатраты", МассивКодыОперацийПрямыеЗатраты);
			//МассивСчетовПрямыхРасходовНУ = Новый Массив;
			//МассивСчетовПрямыхРасходовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОсновногоПроизводства);
			//МассивСчетовПрямыхРасходовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыВспомогательныхПроизводств);
			//МассивСчетовПрямыхРасходовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОбслуживающихПроизводств);
			//ПостроительЗапроса.Параметры.Вставить("МассивСчетовПрямыхРасходовНУ", МассивСчетовПрямыхРасходовНУ);
		}
		// УстановитьПараметрыПостроителяЗапроса()
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ПОЛУЧЕНИЯ ПОСТОИТЕЛЯ ЗАПРОСА ДЛЯ РАСЧЕТА БАЗЫ РАСПРЕДЕЛЕНИЯ
		// Функция получает построитель запроса для базы распределения.
		//
		// Параметры:
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	ТекстЗапросаСКомментариями - Строка - Текст запроса
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//
		// ВозвращаемоеЗначение:
		//	ПостроительЗапроса - Постоитель запроса для базы по стоимости затрат
		//

		public object ПолучитьПостроительЗапросаДляБазы(/*
	СтруктураПараметров,
	ТекстЗапросаСКомментариями,
	ВидОтраженияВУчете
	*/)
		{
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		ВидОтраженияВУчете
	);*/
			//ПостроительЗапроса = Новый ПостроительЗапроса();
			//ПостроительЗапроса.Текст = ТекстЗапроса;
			/*УстановитьПараметрыПостроителяЗапроса(
		СтруктураПараметров,
		ПостроительЗапроса
	);*/
			return null;
		}
		// ПолучитьПостроительЗапросаДляБазы()
		// Функция получает построитель запроса для способа распределения затрат.
		//
		// Параметры:
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	СтруктураПостроителиЗапроса - Структура - Структура с построителями запроса
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//
		// ВозвращаемоеЗначение:
		//	ПостроительЗапроса - Постоитель запроса для базы распределения
		//

		public object ПолучитьПостроительЗапросаДляСпособаРаспределенияЗатрат(/*
	СтруктураПараметров,
	СтруктураПостроителиЗапроса,
	ВидОтраженияВУчете
	*/)
		{
			//ИмяБазыРаспределения = УправлениеПроизводством.ПолучитьИмяЭлементаПеречисления(СтруктураПараметров.БазаРаспределенияЗатрат);
			//ИмяПоказательяБазы = УправлениеПроизводством.ПолучитьИмяЭлементаПеречисления(СтруктураПараметров.ПоказательБазыРаспределения);
			//СуффиксИмениРегистра = СтруктураПараметров.СуффиксыИмениРегистра[ВидОтраженияВУчете];
			//ИмяПостроителя = "Построитель" + ИмяБазыРаспределения + ИмяПоказательяБазы + СуффиксИмениРегистра;
			//ПостроительЗапроса = Неопределено;
			if(true/*Не СтруктураПостроителиЗапроса.Свойство(ИмяПостроителя, ПостроительЗапроса)*/)
			{
				//ТекстЗапросаСКомментариями = "";
				if(true/*СтруктураПараметров.БазаРаспределенияЗатрат = Перечисления.БазыРаспределенияЗатрат.ПоСтоимостиЗатрат*/)
				{
					if(true/*СтруктураПараметров.ИспользоватьРасширеннуюАналитику*/)
					{
						//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаБазаПоСтоимостиЗатратРасширеннаяАналитика();
						/*ТекстЗапросаСКомментариями = ТекстЗапросаСКомментариями + "ОБЪЕДИНИТЬ ВСЕ"
					+ СформироватьТекстЗапросаБазаПриходПоСтоимостиЗатратРасширеннаяАналитика();*/
					}
				}
				if(true/*Не ПустаяСтрока(ТекстЗапросаСКомментариями)*/)
				{
					/*ПостроительЗапроса = ПолучитьПостроительЗапросаДляБазы(
				СтруктураПараметров,
				ТекстЗапросаСКомментариями,
				ВидОтраженияВУчете
			);*/
					//СтруктураПостроителиЗапроса.Вставить(ИмяПостроителя, ПостроительЗапроса);
				}
			}
			return null;
		}
		// ПолучитьПостроительЗапросаДляСпособаРаспределенияЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ВРЕМЕННОЙ ТАБЛИЦЫ РАСЧЕТА БАЗЫ РАСПРЕДЕЛЕНИЯ
		// Процедура устанавливает дополнительные параметры построителя запроса.
		//
		// Параметры:
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	ПостроительЗапроса - ПостроительЗапроса
		//

		public void УстановитьДополнительныеПараметрыПостроителяЗапроса(/*
	СтруктураПараметров,
	РаспределениеКосвенныхЗатрат,
	ПостроительЗапроса
	*/)
		{
			/*// Заданный в способе распределения тип цен для расчета базы.
*/
			//ПостроительЗапроса.Параметры.Вставить("ТипЦен", СтруктураПараметров.ТипЦен);
			/*// Заданное в способе распределения основное сырье.
*/
			//ПостроительЗапроса.Параметры.Вставить("ОсновноеСырье", СтруктураПараметров.ОсновноеСырье);
			/*// Показатель базы распределения, указанный в способе распределения.
*/
			//ПостроительЗапроса.Параметры.Вставить("ПоказательБазыРаспределения", СтруктураПараметров.ПоказательБазыРаспределения);
			/*// Способ распределения, для которого производится расчет базы.
*/
			//ПостроительЗапроса.Параметры.Вставить("СпособРаспределенияЗатрат", СтруктураПараметров.СпособРаспределенияЗатрат);
			/*// Признак расчета базы распределения для общепроизводственных, общехозяйственных расходов, расходов по браку в производстве.
*/
			//ПостроительЗапроса.Параметры.Вставить("РаспределениеКосвенныхЗатрат", РаспределениеКосвенныхЗатрат);
		}
		// УстановитьПараметрыПостроителяЗапроса()
		// Процедура устанавливает значения отбора постоителя запроса.
		//
		// Параметры:
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	ПостроительЗапроса - ПостроительЗапроса
		//

		public void ЗаполнитьОтборПостоителяЗапроса(/*
	СтруктураПараметров,
	ПостроительЗапроса
	*/)
		{
			/*// Удалим установленный ранее отбор.
*/
			//ОтборКоличество = ПостроительЗапроса.Отбор.Количество();
			/*// Устанавливается отбор, заданный в справочнике «Способы распределения затрат на выпуск» для рассчитываемой базы распределения.
*/
			//СтруктураНастроек = СтруктураПараметров.СпособРаспределенияЗатрат.НастройкиПостроителя.Получить();
			if(true/*ТипЗнч(СтруктураНастроек) = Тип("Структура") 
	   И СтруктураНастроек.Свойство("Отбор")*/)
			{
			}
			/*// Устанавливается отбор по подразделению, указанному в документе распределения затрат.
*/
			/*ДобавитьЭлементОтбораПостроителяЗапросаРавно(
		"Подразделение",
		СтруктураПараметров,
		ПостроительЗапроса
	);*/
			/*// Устанавливается отбор по подразделению организации, указанному в документе распределения затрат.
*/
			/*ДобавитьЭлементОтбораПостроителяЗапросаРавно(
		"ПодразделениеОрганизации",
		СтруктураПараметров,
		ПостроительЗапроса
	);*/
			/*// Устанавливается отбор по статье затрат, которая распределяется по рассчитываемому способу распределения.
*/
			if(true/*СтруктураПараметров.БазаРаспределенияЗатрат = Перечисления.БазыРаспределенияЗатрат.ПоНормативам*/)
			{
				/*ДобавитьЭлементОтбораПостроителяЗапросаРавно(
			"СтатьяЗатрат",
			СтруктураПараметров,
			ПостроительЗапроса
		);*/
			}
			/*// Устанавливается отбор по продукции, заданной в документе распределения затрат.
*/
			if(true/*СтруктураПараметров.Свойство("МассивПродукции")*/)
			{
				//СписокПродукции = Новый СписокЗначений;
				//СписокПродукции.ЗагрузитьЗначения(СтруктураПараметров.МассивПродукции);
				/*ДобавитьЭлементОтбораПостроителяЗапросаВСписке(
			"Продукция",
			СтруктураПараметров,
			СписокПродукции,
			ПостроительЗапроса
		);*/
			}
			/*// Устанавливается отбор по характеристикам продукции, заданным в документе распределения затрат.
*/
			if(true/*СтруктураПараметров.Свойство("МассивХарактеристик")*/)
			{
				//СписокХарактеристик = Новый СписокЗначений;
				//СписокХарактеристик.ЗагрузитьЗначения(СтруктураПараметров.МассивХарактеристик);
				/*ДобавитьЭлементОтбораПостроителяЗапросаВСписке(
			"ХарактеристикаПродукции",
			СтруктураПараметров,
			СписокХарактеристик,
			ПостроительЗапроса
		);*/
			}
			/*// Подготовим список значений для отбора в соответствии с типом фильтра, указанным в способе распределения затрат.
*/
			if(true/*ТипЗнч(СтруктураПараметров.Фильтры) = Тип("ТаблицаЗначений")*/)
			{
				//СписокОтбора = Новый СписокЗначений;
			}
			/*// Устанавливается отбор по номенклатурной группе или продукции в соответствии с типом фильтра, заданном
*/
			/*// в способе распределения затрат.
*/
			if(true/*СписокОтбора.Количество() > 0*/)
			{
				if(true/*СтруктураПараметров.ТипФильтраПриРаспределенииЗатратНаВыпуск = Перечисления.ТипыФильтровПриРаспределенииЗатратНаВыпуск.НоменклатурныеГруппы*/)
				{
					/*ДобавитьЭлементОтбораПостроителяЗапросаВСписке(
				"НоменклатурнаяГруппа",
				СтруктураПараметров,
				СписокОтбора,
				ПостроительЗапроса
			);*/
				}
			}
		}
		// ЗаполнитьОтборПостоителяЗапроса()
		// Функция заменяет в тексте запроса имя таблицы регистра на имя временной таблицы.
		//
		// Параметры:
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	ИсходныйТекстЗапроса - Строка - Исходный текст запроса
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object ЗаменитьИмяТаблицыВТекстеЗапроса(/*
	СтруктураПараметров,
	ИсходныйТекстЗапроса,
	ВидОтраженияВУчете
	*/)
		{
			//СуффиксИмениРегистра = СтруктураПараметров.СуффиксыИмениРегистра[ВидОтраженияВУчете];
			//ИмяРегистраЗатратыНаВыпуск = "РегистрНакопления.ЗатратыНаВыпускПродукции";
			//ТекстЗапроса = СтрЗаменить(ИсходныйТекстЗапроса, ИмяРегистраЗатратыНаВыпуск, "ЗатратыНаВыпуск");
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "РегистрНакопления.ВыпускПродукции КАК Продажи", "Продажи" + СуффиксИмениРегистра + " КАК Продажи");
			//ИмяРегистраВыпускПродукции = "РегистрНакопления.ВыпускПродукции";
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИмяРегистраВыпускПродукции, "ВыпускПродукции");
			//ИмяРегистраНезавершенноеПроизводство = "РегистрНакопления.НезавершенноеПроизводство" + СуффиксИмениРегистра + ".ОстаткиИОбороты(, , , , )";
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИмяРегистраНезавершенноеПроизводство, "НезавершенноеПроизводство" + СуффиксИмениРегистра);
			//ИмяРегистраНезавершенноеПроизводство = "РегистрНакопления.УчетЗатратРегл КАК ЗатратыНаВыпуск";
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИмяРегистраНезавершенноеПроизводство, "ЗатратыНаВыпуск" + СуффиксИмениРегистра + " КАК ЗатратыНаВыпуск");
			//ИмяРегистраНезавершенноеПроизводство = "РегистрНакопления.УчетЗатратРегл.ОстаткиИОбороты(, , , , )";
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИмяРегистраНезавершенноеПроизводство, "НезавершенноеПроизводство" + СуффиксИмениРегистра);
			//ИмяРегистраНезавершенноеПроизводство = "РегистрНакопления.УчетЗатратРегл.Остатки(, )";
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИмяРегистраНезавершенноеПроизводство, "НезавершенноеПроизводство" + СуффиксИмениРегистра);
			//ИмяРегистраНезавершенноеПроизводство = "РегистрНакопления.УчетЗатрат КАК ВыпускПродукции";
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИмяРегистраНезавершенноеПроизводство, "ВыпускПродукции" + СуффиксИмениРегистра + " КАК ВыпускПродукции");
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "РегистрСведений.ЦеныНоменклатуры", "ЦеныНоменклатуры" + СуффиксИмениРегистра);
			//ТекстЗапроса = СтрЗаменить(ТекстЗапроса, """ВариантВыпускаПродукции"" КАК ВариантВыпускаПродукции", "ВыпускПродукции.ВариантВыпускаПродукции");
			return null;
		}
		// ЗаменитьИмяТаблицыВТекстеЗапроса()
		// Функция формирует временную таблицу с результатом расчета базы распределения затрат.
		//
		// Параметры:
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	СтруктураПостроителиЗапроса - Структура - Структура с построителями запроса
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц
		//	СтруктураСформированныхТаблицБазы - Структура - Структура, в которую помещаются имена сформированных временных таблиц
		//

		public object СформироватьВременнуюТаблицуБазаРаспределенияЗатрат(/*
	СтруктураПараметров,
	СтруктураПостроителиЗапроса,
	РаспределениеКосвенныхЗатрат,
	МенеджерВременныхТаблиц,
	СтруктураСформированныхТаблицБазы = Неопределено
	*/)
		{
			//БазаРассчитана = Ложь;
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
			return null;
		}
		// СформироватьВременнуюТаблицуБазаРаспределенияЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСЧЕТА БАЗЫ РАСПРЕДЕЛЕНИЯ
		// Функция формирует текст запрос по базе распределения затрат.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоБазеРаспределенияЗатратИзВременнойТаблицыРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	БазаРаспределенияЗатрат.АналитикаВидаУчета,
	|	БазаРаспределенияЗатрат.АналитикаРаспределенияЗатрат,
	|	БазаРаспределенияЗатрат.АналитикаУчетаПартий,
 	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|
	|	//ДляУпрУчета БазаРаспределенияЗатрат.Подразделение,
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК ПодразделениеОрганизации,
	|	
	|	//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) КАК Подразделение,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Подразделение КАК ПодразделениеОрганизации,
	|
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|
	|	БазаРаспределенияЗатрат.ПодразделениеНЗП,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппаНЗП,
	|	БазаРаспределенияЗатрат.ЗаказНЗП,
	|	
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	
	|	БазаРаспределенияЗатрат.ВариантВыпускаПродукции,
	|	БазаРаспределенияЗатрат.ВидВыпуска,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	//ДляНалУчета БазаРаспределенияЗатрат.СчетУчета КАК СчетУчетаНУ,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетЗатрат,
	|	//ДляБухУчета БазаРаспределенияЗатрат.СчетУчета КАК СчетЗатрат,
	|	//ДляМеждУчета БазаРаспределенияЗатрат.СчетУчета КАК СчетЗатрат,
	|	//ДляНалУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетЗатрат,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ПустаяСсылка) КАК СчетЗатратНУ,
	|	//ДляБухУчета ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ПустаяСсылка) КАК СчетЗатратНУ,
	|	//ДляМеждУчета ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ПустаяСсылка) КАК СчетЗатратНУ,
	|	//ДляНалУчета БазаРаспределенияЗатрат.СчетУчета КАК СчетЗатратНУ,
	|
	|	СУММА(БазаРаспределенияЗатрат.База
	|		* &Коэффициент * &Процент / 100
	|		* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|		* ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|	) КАК База,
	|	
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляМеждУчета 0 КАК БазаНУ,	
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаНУ
	|	//ДляНалУчета 	* &Коэффициент * &Процент / 100
	|	//ДляНалУчета 	* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|	//ДляНалУчета 	* ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, 1)
	|	//ДляНалУчета 	* ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|	//ДляНалУчета ) КАК БазаНУ,
	|
	|	СУММА(БазаРаспределенияЗатрат.БазаПриход
	|		* &Коэффициент * &Процент / 100
	|		* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|		* 
	|		ВЫБОР КОГДА &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоСтоимостиЗатрат)
	|			ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоОсновномуСырью)
	|			ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.Вручную)
	|		ТОГДА
	|			1
	|		ИНАЧЕ
	|			ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|		КОНЕЦ
	|	) КАК БазаПриход,
	|	
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляМеждУчета 0 КАК БазаПриходНУ,
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаПриходНУ
	|	//ДляНалУчета 	* &Коэффициент * &Процент / 100
	|	//ДляНалУчета 	* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|	//ДляНалУчета 	*
	|	//ДляНалУчета 	ВЫБОР КОГДА &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоСтоимостиЗатрат)
	|	//ДляНалУчета 		ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоОсновномуСырью)
	|	//ДляНалУчета 		ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.Вручную)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК БазаПриходНУ,
	|
	|	СУММА(БазаРаспределенияЗатрат.БазаОстатокНЗП
	|		* &Коэффициент * &Процент / 100
	|		* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|	) КАК БазаОстатокНЗП,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ
	|	//ДляМеждУчета 0 КАК БазаОстатокНЗПНУ
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаОстатокНЗПНУ
	|	//ДляНалУчета 	* &Коэффициент * &Процент / 100
	|	//ДляНалУчета 	* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|	//ДляНалУчета ) КАК БазаОстатокНЗПНУ
	|
	|//Поместить БазаРаспределенияЗатрат%СуффиксУчета%
	|ИЗ
	|	БазаРаспределения%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|			//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|			//ДляРеглУчета РегистрАналитикаВидаУчета.СчетУчета,
	|
	|			ВыпускПродукции.АналитикаВидаУчета,
	|			ВыпускПродукции.АналитикаРаспределенияЗатрат,
	|			ВыпускПродукции.АналитикаУчетаПартий,
	|
	|			ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Наработка) ТОГДА
	|				ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|			ИНАЧЕ
	|				ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|			КОНЕЦ КАК ВидВыпуска,
	|
	|			1 КАК ЕстьВыпускПродукции
	|		ИЗ
	|			ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|	
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|				РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|			ПО
	|				ВыпускПродукции.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|		ГДЕ
	|			ВыпускПродукции.ВариантВыпускаПродукции В (&ВариантыВыпускаПродукции)
	|			ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.Вручную)
	|			ИЛИ (&РаспределятьНаНаработку И РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Наработка))
	|			
	|		) КАК ВыпускПродукции
	|	ПО
	|		БазаРаспределенияЗатрат.Подразделение = ВыпускПродукции.Подразделение
	|		И БазаРаспределенияЗатрат.АналитикаРаспределенияЗатрат = ВыпускПродукции.АналитикаРаспределенияЗатрат
	|		И БазаРаспределенияЗатрат.АналитикаУчетаПартий = ВыпускПродукции.АналитикаУчетаПартий
	|		И БазаРаспределенияЗатрат.ВидВыпуска = ВыпускПродукции.ВидВыпуска
	|		//ДляРеглУчета И БазаРаспределенияЗатрат.СчетУчета = ВыпускПродукции.СчетУчета
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			Фильтры.НоменклатурнаяГруппа,
	|			Фильтры.Продукция,
	|			Фильтры.Ссылка.ТипФильтраПриРаспределенииЗатратНаВыпуск КАК ТипФильтра,
	|			СУММА(Фильтры.Коэффициент) КАК Коэффициент
	|		ИЗ
	|			Справочник.СпособыРаспределенияЗатратНаВыпуск.Фильтры КАК Фильтры
	|		ГДЕ
	|			Фильтры.Ссылка = &СпособРаспределенияЗатрат
	|		СГРУППИРОВАТЬ ПО
	|			Фильтры.Ссылка,
	|			Фильтры.НоменклатурнаяГруппа,
	|			Фильтры.Продукция
	|		) КАК Фильтры
	|	ПО
	|		Фильтры.ТипФильтра = ЗНАЧЕНИЕ(Перечисление.ТипыФильтровПриРаспределенииЗатратНаВыпуск.Продукция)
	|		И БазаРаспределенияЗатрат.Продукция = Фильтры.Продукция
	|		ИЛИ
	|		Фильтры.ТипФильтра = ЗНАЧЕНИЕ(Перечисление.ТипыФильтровПриРаспределенииЗатратНаВыпуск.НоменклатурныеГруппы)
	|		И БазаРаспределенияЗатрат.НоменклатурнаяГруппа = Фильтры.НоменклатурнаяГруппа
	|
	|ГДЕ
	|	(Не &РаспределятьНаНаработку
	|		И БазаРаспределенияЗатрат.ВидВыпуска <> ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИЛИ &РаспределятьНаНаработку
	|	ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.Вручную)
	|	)
	|
	|СГРУППИРОВАТЬ ПО
	|	БазаРаспределенияЗатрат.АналитикаВидаУчета,
	|	БазаРаспределенияЗатрат.АналитикаРаспределенияЗатрат,
	|	БазаРаспределенияЗатрат.АналитикаУчетаПартий,
	|
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|
	|	БазаРаспределенияЗатрат.ПодразделениеНЗП,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппаНЗП,
	|	БазаРаспределенияЗатрат.ЗаказНЗП,
	|
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	БазаРаспределенияЗатрат.ВариантВыпускаПродукции,
	|	БазаРаспределенияЗатрат.ВидВыпуска
	|		
	|ИМЕЮЩИЕ
	|	СУММА(БазаРаспределенияЗатрат.База
	|		* &Коэффициент * ВЫРАЗИТЬ(&Процент КАК Число(15,3)) / 100
	|	) > 0
	|	ИЛИ
	|	СУММА(БазаРаспределенияЗатрат.БазаПриход
	|		* &Коэффициент * ВЫРАЗИТЬ(&Процент КАК Число(15,3)) / 100
	|	) > 0
	|	ИЛИ
	|	СУММА(БазаРаспределенияЗатрат.БазаОстатокНЗП
	|		* &Коэффициент * ВЫРАЗИТЬ(&Процент КАК Число(15,3)) / 100
	|	) > 0
	|
	|УПОРЯДОЧИТЬ ПО
	|	БазаРаспределенияЗатрат.АналитикаВидаУчета,
	|	БазаРаспределенияЗатрат.АналитикаРаспределенияЗатрат,
	|	БазаРаспределенияЗатрат.АналитикаУчетаПартий,
	|	БазаРаспределенияЗатрат.ВидВыпуска
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоБазеРаспределенияЗатратИзВременнойТаблицыРасширеннаяАналитика()
		// Функция формирует текст запрос по базе распределения затрат.
		//
		// Возвращаемое значение:
		//   Строка – Текст запроса
		//

		public object СформироватьТекстЗапросаПоБазеРаспределенияЗатратИзВременнойТаблицы(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Неопределено КАК АналитикаВидаУчета,
	|	Неопределено КАК АналитикаРаспределенияЗатрат,
	|	Неопределено КАК АналитикаУчетаПартий,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|
	|	//ДляУпрУчета БазаРаспределенияЗатрат.Подразделение,
	|	//ДляУпрУчета ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК ПодразделениеОрганизации,
	|	
	|	//ДляРеглУчета ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка) КАК Подразделение,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Подразделение КАК ПодразделениеОрганизации,
	|
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|
	|	БазаРаспределенияЗатрат.ПодразделениеНЗП,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппаНЗП,
	|	БазаРаспределенияЗатрат.ЗаказНЗП,
	|	
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	
	|	БазаРаспределенияЗатрат.ВариантВыпускаПродукции,
	|	БазаРаспределенияЗатрат.ВидВыпуска,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетУчета,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	//ДляНалУчета БазаРаспределенияЗатрат.СчетУчета КАК СчетУчетаНУ,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетЗатрат,
	|	//ДляБухУчета БазаРаспределенияЗатрат.СчетУчета КАК СчетЗатрат,
	|	//ДляМеждУчета БазаРаспределенияЗатрат.СчетУчета КАК СчетЗатрат,
	|	//ДляНалУчета ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетЗатрат,
	|
	|	//ДляУпрУчета ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ПустаяСсылка) КАК СчетЗатратНУ,
	|	//ДляБухУчета ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ПустаяСсылка) КАК СчетЗатратНУ,
	|	//ДляМеждУчета ЗНАЧЕНИЕ(ПланСчетов.Налоговый.ПустаяСсылка) КАК СчетЗатратНУ,
	|	//ДляНалУчета БазаРаспределенияЗатрат.СчетУчета КАК СчетЗатратНУ,
	|
	|	СУММА(БазаРаспределенияЗатрат.База
	|		* &Коэффициент * &Процент / 100
	|		* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|		* ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, 1)
	|		* ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|	) КАК База,
	|	
	|	//ДляУпрУчета 0 КАК БазаНУ,
	|	//ДляБухУчета 0 КАК БазаНУ,
	|	//ДляМеждУчета 0 КАК БазаНУ,	
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаНУ
	|	//ДляНалУчета 	* &Коэффициент * &Процент / 100
	|	//ДляНалУчета 	* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|	//ДляНалУчета 	* ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, 1)
	|	//ДляНалУчета 	* ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|	//ДляНалУчета ) КАК БазаНУ,
	|
	|	СУММА(БазаРаспределенияЗатрат.БазаПриход
	|		* &Коэффициент * &Процент / 100
	|		* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|		* ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, 1)
	|		* 
	|		ВЫБОР КОГДА &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоСтоимостиЗатрат)
	|			ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоОсновномуСырью)
	|			ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.Вручную)
	|		ТОГДА
	|			1
	|		ИНАЧЕ
	|			ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|		КОНЕЦ
	|	) КАК БазаПриход,
	|	
	|	//ДляУпрУчета 0 КАК БазаПриходНУ,
	|	//ДляБухУчета 0 КАК БазаПриходНУ,
	|	//ДляМеждУчета 0 КАК БазаПриходНУ,
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаПриходНУ
	|	//ДляНалУчета 	* &Коэффициент * &Процент / 100
	|	//ДляНалУчета 	* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|	//ДляНалУчета 	* ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, 1)
	|	//ДляНалУчета 	* 
	|	//ДляНалУчета 	ВЫБОР КОГДА &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоСтоимостиЗатрат)
	|	//ДляНалУчета 		ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоОсновномуСырью)
	|	//ДляНалУчета 		ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.Вручную)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		1
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|	//ДляНалУчета 	КОНЕЦ
	|	//ДляНалУчета ) КАК БазаПриходНУ,
	|
	|	СУММА(БазаРаспределенияЗатрат.БазаОстатокНЗП
	|		* &Коэффициент * &Процент / 100
	|		* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|	) КАК БазаОстатокНЗП,
	|	//ДляУпрУчета 0 КАК БазаОстатокНЗПНУ
	|	//ДляБухУчета 0 КАК БазаОстатокНЗПНУ
	|	//ДляМеждУчета 0 КАК БазаОстатокНЗПНУ
	|	//ДляНалУчета СУММА(БазаРаспределенияЗатрат.БазаОстатокНЗПНУ
	|	//ДляНалУчета 	* &Коэффициент * &Процент / 100
	|	//ДляНалУчета 	* ЕСТЬNULL(Фильтры.Коэффициент, 1)
	|	//ДляНалУчета ) КАК БазаОстатокНЗПНУ
	|
	|//Поместить БазаРаспределенияЗатрат%СуффиксУчета%
	|ИЗ
	|	БазаРаспределения%СуффиксУчета% КАК БазаРаспределенияЗатрат
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	| 		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			ИсключаемаяНоменклатура.Номенклатура,
	|			ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры,
	|			ИсключаемаяНоменклатура.СерияНоменклатуры,
	|			0 КАК ЕстьИсключаемаяНоменклатура
	|		ИЗ
	|			РегистрСведений.НоменклатураИсключаемаяИзБазыРаспределения%СуффиксОрганизаций% КАК ИсключаемаяНоменклатура
	|		ГДЕ
	|			ИсключаемаяНоменклатура.Период МЕЖДУ &НачДата И &КонДата
	|			И &РаспределениеКосвенныхЗатрат
	|			//ДляРеглУчета И ИсключаемаяНоменклатура.Организация = &Организация
	|		) КАК ИсключаемаяНоменклатура
	|	ПО
	|		БазаРаспределенияЗатрат.Продукция = ИсключаемаяНоменклатура.Номенклатура
	|		И БазаРаспределенияЗатрат.ХарактеристикаПродукции = ИсключаемаяНоменклатура.ХарактеристикаНоменклатуры
	|		И БазаРаспределенияЗатрат.СерияПродукции = ИсключаемаяНоменклатура.СерияНоменклатуры
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			//ДляРеглУчета ВыпускПродукции.СчетУчетаНЗП,
	|			ВыпускПродукции.Подразделение,
	|			ВыпускПродукции.НоменклатурнаяГруппа,
	|			ВыпускПродукции.Продукция,
	|			ВыпускПродукции.ХарактеристикаПродукции,
	|			ВыпускПродукции.СерияПродукции,
	|			ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|				ЗНАЧЕНИЕ(Справочник.СпецификацииНоменклатуры.ПустаяСсылка)
	|			ИНАЧЕ
	|				ВыпускПродукции.Спецификация
	|			КОНЕЦ КАК Спецификация,
	|			ВЫБОР КОГДА ВыпускПродукции.Спецификация = Неопределено ТОГДА
	|				ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|			ИНАЧЕ
	|				ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|			КОНЕЦ КАК ВидВыпуска,
	|
	|			ВыпускПродукции.Заказ,
	|			1 КАК ЕстьВыпускПродукции
	|		ИЗ
	|			ВыпускПродукции%СуффиксУчета% КАК ВыпускПродукции
	|		ГДЕ
	|			ВыпускПродукции.ВариантВыпускаПродукции В (&ВариантыВыпускаПродукции)
	|			ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.Вручную)
	|			ИЛИ (&РаспределятьНаНаработку И ВыпускПродукции.Спецификация = Неопределено)
	|		) КАК ВыпускПродукции
	|	ПО
	|		БазаРаспределенияЗатрат.Подразделение = ВыпускПродукции.Подразделение
	|		И БазаРаспределенияЗатрат.НоменклатурнаяГруппа = ВыпускПродукции.НоменклатурнаяГруппа
	|		И БазаРаспределенияЗатрат.Продукция = ВыпускПродукции.Продукция
	|		И БазаРаспределенияЗатрат.ХарактеристикаПродукции = ВыпускПродукции.ХарактеристикаПродукции
	|		И БазаРаспределенияЗатрат.СерияПродукции = ВыпускПродукции.СерияПродукции
	|		И БазаРаспределенияЗатрат.Заказ = ВыпускПродукции.Заказ
	|		И БазаРаспределенияЗатрат.Спецификация = ВыпускПродукции.Спецификация
	|		И БазаРаспределенияЗатрат.ВидВыпуска = ВыпускПродукции.ВидВыпуска
	|		//ДляРеглУчета И БазаРаспределенияЗатрат.СчетУчета = ВыпускПродукции.СчетУчетаНЗП
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			Фильтры.НоменклатурнаяГруппа,
	|			Фильтры.Продукция,
	|			Фильтры.Ссылка.ТипФильтраПриРаспределенииЗатратНаВыпуск КАК ТипФильтра,
	|			СУММА(Фильтры.Коэффициент) КАК Коэффициент
	|		ИЗ
	|			Справочник.СпособыРаспределенияЗатратНаВыпуск.Фильтры КАК Фильтры
	|		ГДЕ
	|			Фильтры.Ссылка = &СпособРаспределенияЗатрат
	|		СГРУППИРОВАТЬ ПО
	|			Фильтры.Ссылка,
	|			Фильтры.НоменклатурнаяГруппа,
	|			Фильтры.Продукция
	|		) КАК Фильтры
	|	ПО
	|		Фильтры.ТипФильтра = ЗНАЧЕНИЕ(Перечисление.ТипыФильтровПриРаспределенииЗатратНаВыпуск.Продукция)
	|		И БазаРаспределенияЗатрат.Продукция = Фильтры.Продукция
	|		ИЛИ
	|		Фильтры.ТипФильтра = ЗНАЧЕНИЕ(Перечисление.ТипыФильтровПриРаспределенииЗатратНаВыпуск.НоменклатурныеГруппы)
	|		И БазаРаспределенияЗатрат.НоменклатурнаяГруппа = Фильтры.НоменклатурнаяГруппа
	|
	|ГДЕ
	|	(Не &РаспределятьНаНаработку
	|		И БазаРаспределенияЗатрат.ВидВыпуска <> ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Наработка)
	|	ИЛИ &РаспределятьНаНаработку
	|	ИЛИ &БазаРаспределенияЗатрат = ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.Вручную)
	|	)
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|	БазаРаспределенияЗатрат.ПодразделениеНЗП,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппаНЗП,
	|	БазаРаспределенияЗатрат.ЗаказНЗП,
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	БазаРаспределенияЗатрат.ВариантВыпускаПродукции,
	|	БазаРаспределенияЗатрат.ВидВыпуска
	|		
	|ИМЕЮЩИЕ
	|	СУММА(БазаРаспределенияЗатрат.База
	|		* &Коэффициент * ВЫРАЗИТЬ(&Процент КАК Число(15,3)) / 100
	|		* ЕСТЬNULL(ИсключаемаяНоменклатура.ЕстьИсключаемаяНоменклатура, 1)
	|		* ЕСТЬNULL(ВыпускПродукции.ЕстьВыпускПродукции, 0)
	|	) > 0
	|	ИЛИ
	|	СУММА(БазаРаспределенияЗатрат.БазаПриход
	|		* &Коэффициент * ВЫРАЗИТЬ(&Процент КАК Число(15,3)) / 100
	|	) > 0
	|	ИЛИ
	|	СУММА(БазаРаспределенияЗатрат.БазаОстатокНЗП
	|		* &Коэффициент *ВЫРАЗИТЬ(&Процент КАК Число(15,3)) / 100
	|	) > 0
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета БазаРаспределенияЗатрат.Организация,
	|	//ДляРеглУчета БазаРаспределенияЗатрат.СчетУчета,
	|	БазаРаспределенияЗатрат.Подразделение,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	БазаРаспределенияЗатрат.ВидВыпуска
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоБазеРаспределенияЗатратИзВременнойТаблицы()
		// Функция формирует запрос по базе распределения затрат.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//
		// Возвращаемое значение:
		//   Запрос – Запрос по базе распределения затрат
		//

		public object СформироватьЗапросПоБазеРаспределенияЗатратИзВременнойТаблицы(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	РаспределениеКосвенныхЗатрат
	*/)
		{
			if(true/*СтруктураПараметров.ИспользоватьРасширеннуюАналитику*/)
			{
				//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоБазеРаспределенияЗатратИзВременнойТаблицыРасширеннаяАналитика();
			}
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//НачДата = НачалоМесяца(СтруктураПараметров.Период);
			//КонДата = КонецМесяца (СтруктураПараметров.Период);
			//Запрос.УстановитьПараметр("НачДата", НачДата);
			//Запрос.УстановитьПараметр("КонДата", КонДата);
			//Запрос.УстановитьПараметр("Организация", СтруктураПараметров.Организация);
			//Запрос.УстановитьПараметр("СпособРаспределенияЗатрат", СтруктураПараметров.СпособРаспределенияЗатрат);
			//Запрос.УстановитьПараметр("РаспределятьНаНаработку", СтруктураПараметров.РаспределятьНаНаработку);
			//Запрос.УстановитьПараметр("БазаРаспределенияЗатрат", СтруктураПараметров.БазаРаспределенияЗатрат);
			//Запрос.УстановитьПараметр("РаспределениеКосвенныхЗатрат", РаспределениеКосвенныхЗатрат);
			//МассивВариантовВыпуска = Новый Массив;
			//МассивВариантовВыпуска.Добавить(Перечисления.ВариантыВыпускаПродукции.ПустаяСсылка());
			if(true/*СтруктураПараметров.РаспределятьНаСобственнуюПродукцию*/)
			{
				//МассивВариантовВыпуска.Добавить(Перечисления.ВариантыВыпускаПродукции.СобственнаяПродукция);
			}
			if(true/*СтруктураПараметров.РаспределятьНаПродукциюИзДавальческогоСырья*/)
			{
				//МассивВариантовВыпуска.Добавить(Перечисления.ВариантыВыпускаПродукции.ПродукцияИзДавальческогоСырья);
			}
			if(true/*СтруктураПараметров.РаспределятьНаПродукциюСтороннегоПереработчика*/)
			{
				//МассивВариантовВыпуска.Добавить(Перечисления.ВариантыВыпускаПродукции.ПродукцияСтороннегоПереработчика);
			}
			//Запрос.УстановитьПараметр("ВариантыВыпускаПродукции", МассивВариантовВыпуска);
			if(true/*СтруктураПараметров.ИзменитьНаКоэффициент*/)
			{
				//Запрос.УстановитьПараметр("Коэффициент", СтруктураПараметров.Коэффициент);
			}
			if(true/*СтруктураПараметров.ИзменитьНаПроцент*/)
			{
				//Запрос.УстановитьПараметр("Процент", СтруктураПараметров.Процент);
			}
			return null;
		}
		// ПолучитьЗапросПоБазеРаспределенияЗатратИзВременнойТаблицы()
		// Процедура рассчитывает базу распределения для указанного способа распределения затрат.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	СтруктураПостроителиЗапроса - Структура - Структура с построителями запроса
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц
		//	НаборЗаписейБазаРаспределенияЗатрат - РегистрСведенийНаборЗаписей - Набор записей регистра сведений "База распределения затрат".
		//

		public void РассчитатьБазуРаспределения(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	СтруктураПостроителиЗапроса,
	РаспределениеКосвенныхЗатрат,
	МенеджерВременныхТаблиц,
	НаборЗаписейБазаРаспределенияЗатрат
	*/)
		{
			//СтруктураСформированныхТаблицБазы = Новый Структура;
			/*БазаРассчитана = СформироватьВременнуюТаблицуБазаРаспределенияЗатрат(
		СтруктураПараметров,
		СтруктураПостроителиЗапроса,
		РаспределениеКосвенныхЗатрат,
		МенеджерВременныхТаблиц,
		СтруктураСформированныхТаблицБазы
	);*/
			if(true/*БазаРассчитана*/)
			{
				/*Запрос = СформироватьЗапросПоБазеРаспределенияЗатратИзВременнойТаблицы(
			СтруктураШапкиДокумента,
			СтруктураПараметров,
			РаспределениеКосвенныхЗатрат
		);*/
				//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
				//СуффиксИмениРегистра = СтруктураПараметров.СуффиксыИмениРегистра[СтруктураШапкиДокумента.ВидОтраженияВУчете];
				/*// Вызывается процедура формирования запроса по временной таблице. Используется при отладке алгоритмов. 
*/
				/*// Для просмотра временной таблицы в структуре шапки документа поле "ОтладочныйРежим" должно иметь значение "Истина".
*/
				//ИмяВременнойТаблицы = "БазаРаспределения" + СуффиксИмениРегистра;
				/*РасширеннаяАналитикаУчета.ПоказатьВременнуюТаблицу(
			СтруктураПараметров,
			МенеджерВременныхТаблиц,
			ИмяВременнойТаблицы
		);*/
				//ИмяВременнойТаблицы = "ВыпускПродукции" + СуффиксИмениРегистра;
				/*РасширеннаяАналитикаУчета.ПоказатьВременнуюТаблицу(
			СтруктураПараметров,
			МенеджерВременныхТаблиц,
			ИмяВременнойТаблицы
		);*/
				//Индекс = 1;
				//РезультатЗапроса = Запрос.Выполнить();
				//Выборка = РезультатЗапроса.Выбрать();
				while(true/*Выборка.Следующий()*/)
				{
					/*// ЭтоРасчетСебестоимостиВыпуска
*/
					/*СтруктураШапкиДокумента.ВидОтраженияВУчете,
				НаборЗаписейБазаРаспределенияЗатрат
			);*/
					//Индекс = Индекс + 1;
				}
				//;;
			}
			/*// Удаление временных таблиц
*/
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
		}
		// РассчитатьБазуРаспределения()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСЧЕТА ВСЕХ БАЗ РАСПРЕДЕЛЕНИЯ ЗАТРАТ
		// Функция формирует текст запроса по используемым способам распределения затрат.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьЗапросПоИспользуемымСпособамРаспределения(/*
	СтруктураШапкиДокумента,
	РаспределениеКосвенныхЗатрат,
	МенеджерВременныхТаблиц
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ
	|	Ссылка КАК СпособРаспределенияЗатрат,
	|	ТипФильтраПриРаспределенииЗатратНаВыпуск,
	|	БазаРаспределенияЗатрат,
	|	ПоказательБазыРаспределения,
	|	ТипЦен,
	|	ОсновноеСырье,
	|	СпособРаспределенияЗатратПоПодразделениям,
	|	РаспределятьНаСобственнуюПродукцию,
	|	РаспределятьНаПродукциюСтороннегоПереработчика,
	|	РаспределятьНаПродукциюИзДавальческогоСырья,
	|	РаспределятьНаНаработку,
	|	РаспределятьНаПодчиненныеПодразделения,
	|	Процент,
	|	Коэффициент,
	|	ПорядокОкругления,
	|	НастройкиПостроителя,
	|	ИзменитьНаПроцент,
	|	ИзменитьНаКоэффициент,
	|	ОкруглитьДо,
	|	СпособыРаспределения.Фильтры.(
	|		Ссылка,
	|		НомерСтроки,
	|		НоменклатурнаяГруппа,
	|		Продукция,
	|		Коэффициент
	|	)
	|ИЗ
	|	Справочник.СпособыРаспределенияЗатратНаВыпуск КАК СпособыРаспределения
	|	
	|ГДЕ
	|	Не СпособыРаспределения.ПометкаУдаления
	|	И СпособыРаспределения.Ссылка В (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			СпособРаспределения
	|		ИЗ
	|			РаспределяемыеСтатьиЗатрат%СуффиксУчета%
	|		ГДЕ
	|			Не НеРаспределять
	|			И ХарактерРаспределенияЗатрат В (&МассивХарактеровРаспределения)
	|
	|		ОБЪЕДИНИТЬ ВСЕ
	|
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			СпособРаспределения.СпособРаспределенияЗатратПоПодразделениям КАК СпособРаспределения
	|		ИЗ
	|			РаспределяемыеСтатьиЗатрат%СуффиксУчета%
	|		ГДЕ
	|			Не НеРаспределять
	|			И РаспределятьНаПодчиненныеПодразделения
	|			И ХарактерРаспределенияЗатрат В (&МассивХарактеровРаспределения)
    |		)
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			/*Запрос.Текст = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями, 
		СтруктураШапкиДокумента.ВидОтраженияВУчете
	);*/
			//Запрос.УстановитьПараметр("КонГраница",	СтруктураШапкиДокумента.мКонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//МассивХарактеровРаспределения = Новый Массив;
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.УчитыватьПодразделение);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			}
			//Запрос.УстановитьПараметр("МассивХарактеровРаспределения", МассивХарактеровРаспределения);
			return null;
		}
		// СформироватьЗапросПоИспользуемымСпособамРаспределения()
		// Функция формирует структуру параметров для расчета базы распределения затрат.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//
		// Возвращаемое значение:
		//	Структура - Структура параметров
		//

		public object СформироватьСтруктуруПараметровРасчетаБазыРаспределения(/*
	СтруктураШапкиДокумента
	*/)
		{
			//СтруктураПараметров = Новый Структура;
			//СтруктураПараметров.Вставить("ОтражатьВУправленческомУчете", СтруктураШапкиДокумента.ОтражатьВУправленческомУчете);
			//СтруктураПараметров.Вставить("ОтражатьВБухгалтерскомУчете", СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете);
			//СтруктураПараметров.Вставить("ОтражатьВНалоговомУчете", СтруктураШапкиДокумента.ОтражатьВНалоговомУчете);
			//СтруктураПараметров.Вставить("ОтражатьВМеждународномУчете", СтруктураШапкиДокумента.ОтражатьВМеждународномУчете);
			//СтруктураПараметров.Вставить("Организация", СтруктураШапкиДокумента.Организация);
			//СтруктураПараметров.Вставить("ИспользоватьРасширеннуюАналитику", СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику);
			if(true/*СтруктураШапкиДокумента.Свойство("ОтладочныйРежим")*/)
			{
				//СтруктураПараметров.Вставить("ОтладочныйРежим", СтруктураШапкиДокумента.ОтладочныйРежим);
			}
			if(true/*СтруктураШапкиДокумента.Свойство("Подразделение")*/)
			{
				//СтруктураПараметров.Вставить("Подразделение", СтруктураШапкиДокумента.Подразделение);
			}
			if(true/*СтруктураШапкиДокумента.Свойство("ПодразделениеОрганизации")*/)
			{
				//СтруктураПараметров.Вставить("ПодразделениеОрганизации", СтруктураШапкиДокумента.ПодразделениеОрганизации);
			}
			//НачГраница = Новый Граница(НачалоМесяца(СтруктураШапкиДокумента.Период), ВидГраницы.Включая);
			//КонГраница = Новый Граница(КонецМесяца (СтруктураШапкиДокумента.Период), ВидГраницы.Включая);
			//НачДата = НачалоМесяца(СтруктураШапкиДокумента.Период);
			//КонДата = КонецМесяца (СтруктураШапкиДокумента.Период);
			//СтруктураПараметров.Вставить("НачГраница", НачГраница);
			//СтруктураПараметров.Вставить("КонГраница", КонГраница);
			//СтруктураПараметров.Вставить("НачДата", НачДата);
			//СтруктураПараметров.Вставить("КонДата", КонДата);
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//ВалютаУчета = глЗначениеПеременной("ВалютаУправленческогоУчета");
			}
			//СтруктураПараметров.Вставить("ВалютаУчета", ВалютаУчета);
			//СтруктураПараметров.Вставить("Дата", СтруктураШапкиДокумента.Период);
			//СтруктураПараметров.Вставить("Период", СтруктураШапкиДокумента.Период);
			//СтруктураПараметров.Вставить("БазаРаспределенияЗатрат");
			//СтруктураПараметров.Вставить("ПоказательБазыРаспределения");
			//СтруктураПараметров.Вставить("ТипЦен");
			//СтруктураПараметров.Вставить("РаспределятьНаСобственнуюПродукцию");
			//СтруктураПараметров.Вставить("РаспределятьНаПродукциюИзДавальческогоСырья");
			//СтруктураПараметров.Вставить("РаспределятьНаПродукциюСтороннегоПереработчика");
			//СтруктураПараметров.Вставить("РаспределятьНаНаработку");
			//СтруктураПараметров.Вставить("ИзменитьНаКоэффициент");
			//СтруктураПараметров.Вставить("Коэффициент");
			//СтруктураПараметров.Вставить("ИзменитьНаПроцент");
			//СтруктураПараметров.Вставить("Процент");
			//СтруктураПараметров.Вставить("ОкруглитьДо");
			//СтруктураПараметров.Вставить("ПорядокОкругления");
			//СтруктураПараметров.Вставить("СпособРаспределенияЗатрат");
			//СтруктураПараметров.Вставить("ОсновноеСырье");
			//СтруктураПараметров.Вставить("ТипФильтраПриРаспределенииЗатратНаВыпуск");
			//СтруктураПараметров.Вставить("Фильтры");
			//СтруктураПараметров.Вставить("СтатьяЗатрат");
			//МассивВидовУчета = Новый Массив;
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//МассивВидовУчета.Добавить(Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете);
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				//МассивВидовУчета.Добавить(Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете);
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//МассивВидовУчета.Добавить(Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете);
			}
			if(true/*Не СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику
	   И СтруктураШапкиДокумента.ОтражатьВМеждународномУчете*/)
			{
				//МассивВидовУчета.Добавить(Перечисления.ВидыОтраженияВУчете.ОтражатьВМеждународномУчете);
			}
			//СтруктураПараметров.Вставить("МассивВидовУчета", МассивВидовУчета);
			//СуффиксыИмениРегистра = Новый Соответствие;
			//СуффиксыИмениРегистра.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете, "");
			//СуффиксыИмениРегистра.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете, "БухгалтерскийУчет");
			//СуффиксыИмениРегистра.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете, "НалоговыйУчет");
			//СуффиксыИмениРегистра.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВМеждународномУчете, "МеждународныйУчет");
			//СтруктураПараметров.Вставить("СуффиксыИмениРегистра", СуффиксыИмениРегистра);
			return null;
		}
		// СформироватьСтруктуруПараметровРасчетаБазыРаспределения()
		// Функция определяет признак наличия баз распределения по стоимости затрат
		// и по основному сырью.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц
		//
		// Возвращаемое значение:
		//	Булево - Будет рассчитываться база распределения по стоимости затрат и по основному сырью
		//

		public object ЕстьБазаРаспределенияПоСтоимостиЗатратИПоОсновномуСырью(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	РаспределениеКосвенныхЗатрат,
	МенеджерВременныхТаблиц
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1
	|	СпособРаспределения
	|ИЗ
	|	РаспределяемыеСтатьиЗатрат%СуффиксУчета%
	|ГДЕ
	|	Не НеРаспределять
	|	И ХарактерРаспределенияЗатрат В (&МассивХарактеровРаспределения)
	|	И (СпособРаспределения.БазаРаспределенияЗатрат =
	|	 	ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоСтоимостиЗатрат)
	|	 ИЛИ 
	|	 СпособРаспределения.БазаРаспределенияЗатрат =
	|	 	ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоОсновномуСырью)
	|	 ИЛИ 
	|	 СпособРаспределения.СпособРаспределенияЗатратПоПодразделениям.БазаРаспределенияЗатрат =
	|	 	ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоСтоимостиЗатрат)
	|	 ИЛИ 
	|	 СпособРаспределения.СпособРаспределенияЗатратПоПодразделениям.БазаРаспределенияЗатрат =
	|	 	ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоОсновномуСырью)
	|	 )
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//МассивХарактеровРаспределения = Новый Массив;
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.УчитыватьПодразделение);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			}
			//Запрос.УстановитьПараметр("МассивХарактеровРаспределения", МассивХарактеровРаспределения);
			//ЕстьБазаРаспределения = Ложь;
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
			return null;
		}
		// ЕстьБазаРаспределенияПоСтоимостиЗатратИПоОсновномуСырью()
		// Функция определяет признак наличия баз распределения по объему продаж.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц
		//
		// Возвращаемое значение:
		//	Булево - Будет рассчитываться база распределения по объему продаж
		//

		public object ЕстьБазаРаспределенияПоОбъемуПродаж(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	РаспределениеКосвенныхЗатрат,
	МенеджерВременныхТаблиц
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1
	|	СпособРаспределения
	|ИЗ
	|	РаспределяемыеСтатьиЗатрат%СуффиксУчета%
	|ГДЕ
	|	Не НеРаспределять
	|	И ХарактерРаспределенияЗатрат В (&МассивХарактеровРаспределения)
	|	И (СпособРаспределения.БазаРаспределенияЗатрат =
	|	 	ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоОбъемуПродаж)
	|	 ИЛИ 
	|	 СпособРаспределения.ПоказательБазыРаспределения =
	|	 	ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ФактическаяЦенаРеализации)
	|	 ИЛИ 
	|	 СпособРаспределения.СпособРаспределенияЗатратПоПодразделениям.БазаРаспределенияЗатрат =
	|	 	ЗНАЧЕНИЕ(Перечисление.БазыРаспределенияЗатрат.ПоОбъемуПродаж)
	|	 ИЛИ 
	|	 СпособРаспределения.СпособРаспределенияЗатратПоПодразделениям.ПоказательБазыРаспределения =
	|	 	ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейБазыРаспределения.ФактическаяЦенаРеализации)
	|	 )
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//МассивХарактеровРаспределения = Новый Массив;
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПроизводственныеРасходы);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.НеУчитыватьПодразделение);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.УчитыватьПодразделение);
				//МассивХарактеровРаспределения.Добавить(Перечисления.ХарактерРаспределенияЗатрат.ПустаяСсылка());
			}
			//Запрос.УстановитьПараметр("МассивХарактеровРаспределения", МассивХарактеровРаспределения);
			//ЕстьБазаРаспределения = Ложь;
			/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
			return null;
		}
		// ЕстьБазаРаспределенияПоОбъемуПродаж()
		// Процедура формирует временные таблицы для расчета баз распределения.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	СтруктураПараметров - Структура - Структура параметров способа распределения
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц
		//

		public void СформироватьВременныеТаблицы(/*
	СтруктураШапкиДокумента,
	СтруктураПараметров,
	РаспределениеКосвенныхЗатрат,
	МенеджерВременныхТаблиц
	*/)
		{
			/*// Формирование временной таблицы «РаспределяемыеСтатьиЗатрат» по данным регистров сведений 
*/
			/*// «Способы распределения статей затрат» и «Способы распределения статей затрат организаций».
*/
			/*СформироватьВременнуюТаблицуРаспределяемыеСтатьиЗатрат(
		СтруктураШапкиДокумента,
		СтруктураПараметров,
		МенеджерВременныхТаблиц
	);*/
			/*// Формирование временной таблицы "ВыпускПродукции" по выпущенной продукции и по наработке продукции в текущем месяце.
*/
			/*СформироватьВременнуюТаблицуВыпускПродукции(
		СтруктураШапкиДокумента,
		СтруктураПараметров,
		МенеджерВременныхТаблиц
	);*/
			/*// Формирование временной таблицы "ЦеныНоменклатуры" для продукции, выпущенной в текущем месяце, по типам цен, указанным
*/
			/*// в способах распределения затрат.
*/
			/*СформироватьВременнуюТаблицуЦеныНоменклатуры(
		СтруктураШапкиДокумента,
		СтруктураПараметров,
		МенеджерВременныхТаблиц
	);*/
			/*// Определение признака использования баз распределения "По стоимости затрат" и "По основному сырью".
*/
			/*// При расчете себестоимости выпуска признак определяется по данным временной таблицы "РаспределяемыеСтатьиЗатрат".
*/
			if(true/*ТипЗнч(СтруктураШапкиДокумента.Ссылка) = Тип("ДокументСсылка.РасчетСебестоимостиВыпуска")*/)
			{
				/*ЕстьБазаРаспределенияПоСтоимости = ЕстьБазаРаспределенияПоСтоимостиЗатратИПоОсновномуСырью(
			СтруктураШапкиДокумента,
			СтруктураПараметров,
			РаспределениеКосвенныхЗатрат,
			МенеджерВременныхТаблиц
		);*/
				/*// При заполнении документов распределения затрат признак определяется по данным из структуры параметров.	
*/
			}
			/*// Временные таблицы "ЗатратыНаВыпуск" и "НезавершенноеПроизводство" формируем только
*/
			/*// при наличии баз распределения "По стоимости затрат" и "По основному сырью".
*/
			if(true/*ЕстьБазаРаспределенияПоСтоимости*/)
			{
				/*// Формирование временной таблицы "АналитикаВидаУчетаЗатратыНаВыпуск" по элементам справочника 
*/
				/*// «Ключи аналитики вида учета», для которых задан раздел учета «ЗатратыНаВыпуск» или «ЗатратыПоНаработке».
*/
				if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
				{
					/*СформироватьВременнуюТаблицуАналитикаВидаУчетаЗатратыНаВыпуск(
				СтруктураШапкиДокумента,
				СтруктураПараметров,
				МенеджерВременныхТаблиц
			);*/
				}
				/*// Формирование временной таблицы "ЗатратыНаВыпуск" по всем затратам текущего месяца.
*/
				/*СформироватьВременнуюТаблицуЗатратыНаВыпуск(
			СтруктураШапкиДокумента,
			СтруктураПараметров,
			МенеджерВременныхТаблиц
		);*/
				/*// Формирование временной таблицы "НезавершенноеПроизводство" по всем затратам текущего месяца.
*/
				/*СформироватьВременнуюТаблицуНезавершенноеПроизводство(
			СтруктураШапкиДокумента,
			СтруктураПараметров,
			РаспределениеКосвенныхЗатрат,
			МенеджерВременныхТаблиц
		);*/
			}
			/*// При расчете себестоимости выпуска признак определяется по данным временной таблицы "РаспределяемыеСтатьиЗатрат".
*/
			if(true/*ТипЗнч(СтруктураШапкиДокумента.Ссылка) = Тип("ДокументСсылка.РасчетСебестоимостиВыпуска")*/)
			{
				/*ЕстьБазаПоОбъемуПродаж = ЕстьБазаРаспределенияПоОбъемуПродаж(
			СтруктураШапкиДокумента,
			СтруктураПараметров,
			РаспределениеКосвенныхЗатрат,
			МенеджерВременныхТаблиц
		);*/
				/*// При заполнении документов распределения затрат признак определяется по данным из структуры параметров.		
*/
			}
			/*// Временная таблица "Продажи" формируем только
*/
			/*// при наличии баз распределения "По объему продаж"
*/
			/*// или при наличии показателя "Фактическая цена реализации".
*/
			if(true/*ЕстьБазаПоОбъемуПродаж*/)
			{
				/*СформироватьВременнуюТаблицуПродажи(
			СтруктураШапкиДокумента,
			СтруктураПараметров,
			МенеджерВременныхТаблиц
		);*/
			}
		}
		// СформироватьВременныетаблицы()
		// Процедура рассчитывает базы распределения производственных и косвенных затрат.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//

		public void РасчетБазыРаспределенияЗатрат(/*
	СтруктураШапкиДокумента,
	РаспределениеКосвенныхЗатрат
	*/)
		{
			//СтруктураПараметров = СформироватьСтруктуруПараметровРасчетаБазыРаспределения(СтруктураШапкиДокумента);
			//МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			/*СформироватьВременныеТаблицы(
		СтруктураШапкиДокумента,
		СтруктураПараметров,
		РаспределениеКосвенныхЗатрат,
		МенеджерВременныхТаблиц
	);*/
			//СтруктураИмен = Новый Структура("БазаРаспределенияЗатрат");
			/*СтруктураДвижений = ПроцедурыРасчетаСебестоимостиВыпуска.ПолучитьНаборыДвижений(
		СтруктураШапкиДокумента, 
		СтруктураИмен
	);*/
			//НаборЗаписейБазаРаспределенияЗатрат = СтруктураДвижений.ДвиженияБазаРаспределенияЗатрат;
			//СтруктураПостроителиЗапроса = Новый Структура;
			/*Запрос = СформироватьЗапросПоИспользуемымСпособамРаспределения(
		СтруктураШапкиДокумента,
		РаспределениеКосвенныхЗатрат,
		МенеджерВременныхТаблиц
	);*/
			//РезультатЗапроса = Запрос.Выполнить();
			//Выборка = РезультатЗапроса.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//ЗаполнитьЗначенияСвойств(СтруктураПараметров, Выборка);
				/*РассчитатьБазуРаспределения(
			СтруктураШапкиДокумента,
			СтруктураПараметров,
			СтруктураПостроителиЗапроса,
			РаспределениеКосвенныхЗатрат,
			МенеджерВременныхТаблиц,
			НаборЗаписейБазаРаспределенияЗатрат
		);*/
			}
			if(true/*НаборЗаписейБазаРаспределенияЗатрат.Модифицированность()*/)
			{
				//НаборЗаписейБазаРаспределенияЗатрат.Записать(Ложь);
			}
			//МенеджерВременныхТаблиц.Закрыть();
		}
		// РасчетБазыРаспределенияЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАСЧЕТА БАЗ РАСПРЕДЕЛЕНИЯ ДЛЯ ЗАПОЛНЕНИЯ ДОКУМЕНТОВ
		// Функция формирует таблицу значений для отражения базы распределения.
		//
		// Возвращаемое значение:
		//	ТаблицаЗначений - Таблица значений для базы распределения
		//

		public object СформироватьПустуюТаблицуБазыРаспределения(/**/)
		{
			//МассивТиповЗаказа = Новый Массив;
			//МассивТиповЗаказа.Добавить(Тип("ДокументСсылка.ЗаказПокупателя"));
			//МассивТиповЗаказа.Добавить(Тип("ДокументСсылка.ЗаказНаПроизводство"));
			//ТаблицаРезультата = Новый ТаблицаЗначений;
			//ТаблицаРезультата.Колонки.Добавить("СпособРаспределенияЗатрат",		Новый ОписаниеТипов("СправочникСсылка.СпособыРаспределенияЗатратНаВыпуск"));
			//ТаблицаРезультата.Колонки.Добавить("Подразделение",					Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
			//ТаблицаРезультата.Колонки.Добавить("ПодразделениеОрганизации",		Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизаций"));
			//ТаблицаРезультата.Колонки.Добавить("НоменклатурнаяГруппа",			Новый ОписаниеТипов("СправочникСсылка.НоменклатурныеГруппы"));
			//ТаблицаРезультата.Колонки.Добавить("Заказ",							Новый ОписаниеТипов(МассивТиповЗаказа));
			//ТаблицаРезультата.Колонки.Добавить("Номенклатура",					Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//ТаблицаРезультата.Колонки.Добавить("ХарактеристикаНоменклатуры",	Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
			//ТаблицаРезультата.Колонки.Добавить("СерияНоменклатуры",				Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
			//ТаблицаРезультата.Колонки.Добавить("Продукция",						Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//ТаблицаРезультата.Колонки.Добавить("ХарактеристикаПродукции",		Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
			//ТаблицаРезультата.Колонки.Добавить("СерияПродукции",				Новый ОписаниеТипов("СправочникСсылка.СерииНоменклатуры"));
			//ТаблицаРезультата.Колонки.Добавить("Спецификация",					Новый ОписаниеТипов("СправочникСсылка.СпецификацииНоменклатуры"));
			//ТаблицаРезультата.Колонки.Добавить("ВариантВыпускаПродукции",		Новый ОписаниеТипов("ПеречислениеСсылка.ВариантыВыпускаПродукции"));
			//ТаблицаРезультата.Колонки.Добавить("ВидВыпуска",					Новый ОписаниеТипов("ПеречислениеСсылка.ВидыВыпуска"));
			//ТаблицаРезультата.Колонки.Добавить("СчетЗатрат",					Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			//ТаблицаРезультата.Колонки.Добавить("СчетЗатратНУ",					Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
			//ТаблицаРезультата.Колонки.Добавить("ТехнологическаяОперация",		Новый ОписаниеТипов("СправочникСсылка.ТехнологическиеОперации"));
			//ТаблицаРезультата.Колонки.Добавить("ОтражатьВУправленческомУчете", 	Новый ОписаниеТипов("Булево"));
			//ТаблицаРезультата.Колонки.Добавить("ОтражатьВБухгалтерскомУчете", 	Новый ОписаниеТипов("Булево"));
			//ТаблицаРезультата.Колонки.Добавить("ОтражатьВНалоговомУчете", 		Новый ОписаниеТипов("Булево"));
			//ТаблицаРезультата.Колонки.Добавить("База", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//ТаблицаРезультата.Колонки.Добавить("БазаПриход", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//ТаблицаРезультата.Колонки.Добавить("БазаОстатокНЗП", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//ТаблицаРезультата.Колонки.Добавить("БазаРегл", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//ТаблицаРезультата.Колонки.Добавить("БазаПриходРегл", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//ТаблицаРезультата.Колонки.Добавить("БазаОстатокНЗПРегл", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//ТаблицаРезультата.Колонки.Добавить("БазаНал",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//ТаблицаРезультата.Колонки.Добавить("БазаПриходНал",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//ТаблицаРезультата.Колонки.Добавить("БазаОстатокНЗПНал",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			return null;
		}
		// СформироватьПустуюТаблицуБазыРаспределения()
		// Функция формирует текст запроса по базам распределения.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоБазамРаспределения(/**/)
		{
			/*ТекстЗапроса =
	"ВЫБРАТЬ
	|	БазаРаспределенияЗатрат.ИндексУчета,
	|	ВЫБОР КОГДА &ЕстьПодразделениеВДокументе ТОГДА
	|		Неопределено
	|	КОГДА БазаРаспределенияЗатрат.Подразделение = Неопределено ТОГДА
	|		СоответствиеПодразделений.Подразделение
	|	ИНАЧЕ
	|		БазаРаспределенияЗатрат.Подразделение
	|	КОНЕЦ КАК Подразделение,
	|	
	|	ВЫБОР КОГДА &ЕстьПодразделениеВДокументе ТОГДА
	|		Неопределено
	|	КОГДА БазаРаспределенияЗатрат.ПодразделениеОрганизации = Неопределено ТОГДА
	|		СоответствиеПодразделений.ПодразделениеОрганизации
	|	ИНАЧЕ
	|		БазаРаспределенияЗатрат.ПодразделениеОрганизации
	|	КОНЕЦ КАК ПодразделениеОрганизации,
	|	БазаРаспределенияЗатрат.Продукция КАК Номенклатура,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции КАК ХарактеристикаНоменклатуры,
	|	БазаРаспределенияЗатрат.СерияПродукции КАК СерияНоменклатуры,
	|	БазаРаспределенияЗатрат.Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции,
	|	БазаРаспределенияЗатрат.СерияПродукции,
	|	БазаРаспределенияЗатрат.Заказ,
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	БазаРаспределенияЗатрат.ВариантВыпускаПродукции,
	|	БазаРаспределенияЗатрат.ВидВыпуска,
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.СчетЗатрат = Неопределено ТОГДА
	|		СоответствиеСчетов.СчетБУ
	|	ИНАЧЕ
	|		БазаРаспределенияЗатрат.СчетЗатрат
	|	КОНЕЦ КАК СчетЗатрат,
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.СчетЗатратНУ = Неопределено ТОГДА
	|		СоответствиеСчетов.СчетНУ
	|	ИНАЧЕ
	|		БазаРаспределенияЗатрат.СчетЗатратНУ
	|	КОНЕЦ КАК СчетЗатратНУ,
	|	
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 3 ТОГДА
	|		БазаРаспределенияЗатрат.База
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК База, 
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 3 ТОГДА
	|		БазаРаспределенияЗатрат.БазаПриход
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК БазаПриход, 
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 3 ТОГДА
	|		БазаРаспределенияЗатрат.БазаОстатокНЗП
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК БазаОстатокНЗП, 
	|	
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 2 ТОГДА
	|		БазаРаспределенияЗатрат.База
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК БазаРегл, 
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 2 ТОГДА
	|		БазаРаспределенияЗатрат.БазаПриход
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК БазаПриходРегл,
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 2 ТОГДА
	|		БазаРаспределенияЗатрат.БазаОстатокНЗП
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК БазаОстатокНЗПРегл, 
	|	
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 1 ТОГДА
	|		БазаРаспределенияЗатрат.База
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК БазаНал,
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 1 ТОГДА
	|		БазаРаспределенияЗатрат.БазаПриход
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК БазаПриходНал,
	|	ВЫБОР КОГДА БазаРаспределенияЗатрат.ИндексУчета = 1 ТОГДА
	|		БазаРаспределенияЗатрат.БазаОстатокНЗП
	|	ИНАЧЕ
	|		0
	|	КОНЕЦ КАК БазаОстатокНЗПНал
 	|
	|ИЗ (
	|	//ДляУпрУчета ВЫБРАТЬ
	|	//ДляУпрУчета 	3 КАК ИндексУчета,
	|	//ДляУпрУчета 	Подразделение КАК Подразделение,
	|	//ДляУпрУчета 	Неопределено КАК ПодразделениеОрганизации,
	|	//ДляУпрУчета 	Неопределено КАК СчетЗатрат,
	|	//ДляУпрУчета 	Неопределено КАК СчетЗатратНУ,
	|	//ДляУпрУчета 	*
	|   //ДляУпрУчета ИЗ
	|	//ДляУпрУчета 	БазаРаспределения
	|
	|	//ДляУпрУчета //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ
	|
	|	//ДляБухУчета ВЫБРАТЬ
	|	//ДляБухУчета 	2 КАК ИндексУчета,
	|	//ДляБухУчета 	Неопределено КАК Подразделение,
	|	//ДляБухУчета 	Подразделение КАК ПодразделениеОрганизации,
	|	//ДляБухУчета 	СчетУчета КАК СчетЗатрат,
	|	//ДляБухУчета 	Неопределено КАК СчетЗатратНУ,
	|	//ДляБухУчета 	*
	|   //ДляБухУчета ИЗ
	|	//ДляБухУчета 	БазаРаспределенияБухгалтерскийУчет
	|
	|	//ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ
	|
	|	//ДляНалУчета ВЫБРАТЬ
	|	//ДляНалУчета 	1 КАК ИндексУчета,
	|	//ДляНалУчета 	Неопределено КАК Подразделение,
	|	//ДляНалУчета 	Подразделение КАК ПодразделениеОрганизации,
	|	//ДляНалУчета 	Неопределено КАК СчетЗатрат,
	|	//ДляНалУчета 	СчетУчета КАК СчетЗатратНУ,
	|	//ДляНалУчета 	*
	|   //ДляНалУчета ИЗ
	|	//ДляНалУчета 	БазаРаспределенияНалоговыйУчет
	|
	|	) КАК БазаРаспределенияЗатрат
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			СоответствиеСчетов.СчетБУ,
	|			СоответствиеСчетов.СчетНУ
	|		ИЗ
	|			РегистрСведений.СоответствиеСчетовБУиНУ.СрезПоследних(&КонДата,
	|				СчетНУ В ИЕРАРХИИ (&МассивСчетовПрямыхРасходовНУ)
	|				) КАК СоответствиеСчетов
	|		) КАК СоответствиеСчетов
	|	ПО
	|		БазаРаспределенияЗатрат.СчетЗатрат = СоответствиеСчетов.СчетБУ
	|		ИЛИ БазаРаспределенияЗатрат.СчетЗатратНУ = СоответствиеСчетов.СчетНУ
	|		
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ
	|			СоответствиеПодразделений.Подразделение,
	|			СоответствиеПодразделений.Организация,
	|			СоответствиеПодразделений.ПодразделениеОрганизации
	|		ИЗ
	|			РегистрСведений.СоответствиеПодразделенийИПодразделенийОрганизаций КАК СоответствиеПодразделений
	|		) КАК СоответствиеПодразделений
	|	ПО
	|		БазаРаспределенияЗатрат.Организация = СоответствиеПодразделений.Организация
	|		И (БазаРаспределенияЗатрат.Подразделение = СоответствиеПодразделений.Подразделение
	|			ИЛИ 
	|			БазаРаспределенияЗатрат.ПодразделениеОрганизации = СоответствиеПодразделений.ПодразделениеОрганизации)
	|
	|{ГДЕ
	|	БазаРаспределенияЗатрат.Подразделение.* 			КАК Подразделение,
	|	БазаРаспределенияЗатрат.ПодразделениеОрганизации.* 	КАК ПодразделениеОрганизации,
	|	БазаРаспределенияЗатрат.Продукция.* 				КАК Продукция,
	|	БазаРаспределенияЗатрат.ХарактеристикаПродукции.* 	КАК ХарактеристикаПродукции
	|}
	|
	|УПОРЯДОЧИТЬ ПО
	|	БазаРаспределенияЗатрат.ИндексУчета УБЫВ
	|		
	|ИТОГИ 
	|	МАКСИМУМ(База), МАКСИМУМ(БазаПриход), МАКСИМУМ(БазаОстатокНЗП),
	|	МАКСИМУМ(БазаРегл), МАКСИМУМ(БазаПриходРегл), МАКСИМУМ(БазаОстатокНЗПРегл),
	|	МАКСИМУМ(БазаНал), МАКСИМУМ(БазаПриходНал), МАКСИМУМ(БазаОстатокНЗПНал)
	|ПО
	|	БазаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	БазаРаспределенияЗатрат.Заказ,
	|	Продукция,
	|	ХарактеристикаПродукции,
	|	СерияПродукции,
	|	БазаРаспределенияЗатрат.Спецификация,
	|	БазаРаспределенияЗатрат.ВидВыпуска,
	|	Подразделение,
	|	ПодразделениеОрганизации,
	|	СчетЗатрат,
	|	СчетЗатратНУ
	|{ИТОГИ ПО
	|	НоменклатурнаяГруппа,
	|	Заказ,
	|	Продукция,
	|	ХарактеристикаПродукции,
	|	СерияПродукции,
	|	Спецификация,
	|	ВидВыпуска,
	|	Подразделение,
	|	ПодразделениеОрганизации,
	|	СчетЗатрат,
	|	СчетЗатратНУ
	|}
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоБазамРаспределения()
		// Процедура устанавливает параметры запроса по базам распределения.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	Запрос - Запрос
		//

		public void УстановитьПараметрыЗапросаПоБазамРаспределения(/*
	СтруктураШапкиДокумента,
	Запрос
	*/)
		{
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.мКонДата);
			//Запрос.УстановитьПараметр("ЕстьПодразделениеВДокументе", СтруктураШапкиДокумента.ЕстьПодразделениеВДокументе);
			//МассивСчетовПрямыхРасходовНУ = Новый Массив;
			//МассивСчетовПрямыхРасходовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОсновногоПроизводства);
			//МассивСчетовПрямыхРасходовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыВспомогательныхПроизводств);
			//МассивСчетовПрямыхРасходовНУ.Добавить(ПланыСчетов.Налоговый.ПрямыеРасходыОбслуживающихПроизводств);
			//Запрос.УстановитьПараметр("МассивСчетовПрямыхРасходовНУ", МассивСчетовПрямыхРасходовНУ);
		}
		// УстановитьПараметрыЗапросаПоБазамРаспределения()
		// Процедура формирует таблицу базы распределения из результата запроса.
		//
		// Параметры:
		//	РезультатЗапроса - РезультатЗапроса - Результат запроса по базе распределения
		//
		// Выходные параметры:
		//	ТаблицаРезультата - ТаблицаЗначений - Таблица базы распределения
		//

		public void СформироватьТаблицуБазыРаспределения(/*
	РезультатЗапроса,
	ТаблицаРезультата,
	СтруктураПараметров
	*/)
		{
			//ОбходПоНомГруппам = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			while(true/*ОбходПоНомГруппам.Следующий()*/)
			{
				//ОбходПоЗаказам = ОбходПоНомГруппам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
				while(true/*ОбходПоЗаказам.Следующий()*/)
				{
					//ОбходПоПродукции = ОбходПоЗаказам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
					while(true/*ОбходПоПродукции.Следующий()*/)
					{
						//ОбходПоХарактеристике = ОбходПоПродукции.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
						while(true/*ОбходПоХарактеристике.Следующий()*/)
						{
							//ОбходПоСерии = ОбходПоХарактеристике.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
							while(true/*ОбходПоСерии.Следующий()*/)
							{
								//ОбходПоСпецификации = ОбходПоСерии.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
								while(true/*ОбходПоСпецификации.Следующий()*/)
								{
									//ОбходПоВидуВыпуска = ОбходПоСпецификации.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
									while(true/*ОбходПоВидуВыпуска.Следующий()*/)
									{
										if(true/*ОбходПоВидуВыпуска.База = 0
								   И ОбходПоВидуВыпуска.БазаПриход = 0
								   И ОбходПоВидуВыпуска.БазаРегл = 0
								   И ОбходПоВидуВыпуска.БазаПриходРегл = 0
								   И ОбходПоВидуВыпуска.БазаНал = 0
								   И ОбходПоВидуВыпуска.БазаПриходНал = 0*/)
										{
										}
										//НоваяСтрока = ТаблицаРезультата.Добавить();
										//ЗаполнитьЗначенияСвойств(НоваяСтрока, ОбходПоВидуВыпуска);
										//НоваяСтрока.СпособРаспределенияЗатрат = СтруктураПараметров.СпособРаспределенияЗатрат;
										//НоваяСтрока.База = 0;
										//НоваяСтрока.БазаПриход = 0;
										//НоваяСтрока.БазаОстатокНЗП = 0;
										//НоваяСтрока.БазаРегл = 0;
										//НоваяСтрока.БазаПриходРегл = 0;
										//НоваяСтрока.БазаОстатокНЗПРегл = 0;
										//НоваяСтрока.БазаНал = 0;
										//НоваяСтрока.БазаПриходНал = 0;
										//НоваяСтрока.БазаОстатокНЗПНал = 0;
										//ОбходПоПодразделению = ОбходПоВидуВыпуска.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
										while(true/*ОбходПоПодразделению.Следующий()*/)
										{
											//ОбходПоПодразделениюОрганизации = ОбходПоПодразделению.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
											while(true/*ОбходПоПодразделениюОрганизации.Следующий()*/)
											{
												//ОбходПоСчетуЗатрат = ОбходПоПодразделениюОрганизации.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
												while(true/*ОбходПоСчетуЗатрат.Следующий()*/)
												{
													//ОбходПоСчетуЗатратНУ = ОбходПоСчетуЗатрат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
													while(true/*ОбходПоСчетуЗатратНУ.Следующий()*/)
													{
														if(true/*ЗначениеЗаполнено(НоваяСтрока.СчетЗатрат) И НоваяСтрока.СчетЗатрат <> ОбходПоСчетуЗатратНУ.СчетЗатрат
												 ИЛИ ЗначениеЗаполнено(НоваяСтрока.СчетЗатратНУ) И НоваяСтрока.СчетЗатратНУ <> ОбходПоСчетуЗатратНУ.СчетЗатратНУ
												 ИЛИ ЗначениеЗаполнено(НоваяСтрока.Подразделение) И НоваяСтрока.Подразделение <> ОбходПоСчетуЗатратНУ.Подразделение
												 ИЛИ ЗначениеЗаполнено(НоваяСтрока.ПодразделениеОрганизации) И НоваяСтрока.ПодразделениеОрганизации <> ОбходПоСчетуЗатратНУ.ПодразделениеОрганизации*/)
														{
															//НоваяСтрока = ТаблицаРезультата.Добавить();
															//ЗаполнитьЗначенияСвойств(НоваяСтрока, ОбходПоСчетуЗатратНУ);
															//НоваяСтрока.СпособРаспределенияЗатрат = СтруктураПараметров.СпособРаспределенияЗатрат;
															//НоваяСтрока.База = 0;
															//НоваяСтрока.БазаПриход = 0;
															//НоваяСтрока.БазаОстатокНЗП = 0;
															//НоваяСтрока.БазаРегл = 0;
															//НоваяСтрока.БазаПриходРегл = 0;
															//НоваяСтрока.БазаОстатокНЗПРегл = 0;
															//НоваяСтрока.БазаНал = 0;
															//НоваяСтрока.БазаПриходНал = 0;
															//НоваяСтрока.БазаОстатокНЗПНал = 0;
														}
														//Обход = ОбходПоСчетуЗатратНУ.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
														while(true/*Обход.Следующий()*/)
														{
															/*// Управленческий учет.
*/
															if(true/*Обход.ИндексУчета = 3*/)
															{
																//НоваяСтрока.ВариантВыпускаПродукции = Обход.ВариантВыпускаПродукции;
																//НоваяСтрока.ВидВыпуска = Обход.ВидВыпуска;
																//НоваяСтрока.Подразделение = Обход.Подразделение;
																//НоваяСтрока.База = Обход.База;
																//НоваяСтрока.БазаПриход = Обход.БазаПриход;
																//НоваяСтрока.БазаОстатокНЗП = Обход.БазаОстатокНЗП;
																/*// Бухгалтерский учет.
*/
															}
														}
														if(true/*СтруктураПараметров.ОкруглитьДо И ЗначениеЗаполнено(СтруктураПараметров.ПорядокОкругления)*/)
														{
															//НоваяСтрока.База = Ценообразование.ОкруглитьЦену(НоваяСтрока.База, СтруктураПараметров.ПорядокОкругления, Истина);
															//НоваяСтрока.БазаОстатокНЗП = Ценообразование.ОкруглитьЦену(НоваяСтрока.БазаОстатокНЗП, СтруктураПараметров.ПорядокОкругления, Истина);
															if(true/*СтруктураПараметров.ОтражатьВНалоговомУчете*/)
															{
																//НоваяСтрока.БазаНУ = Ценообразование.ОкруглитьЦену(НоваяСтрока.БазаНУ, СтруктураПараметров.ПорядокОкругления, Истина);
																//НоваяСтрока.БазаОстатокНЗПНУ = Ценообразование.ОкруглитьЦену(НоваяСтрока.БазаОстатокНЗПНУ, СтруктураПараметров.ПорядокОкругления, Истина);
															}
														}
													}
													//;;
												}
												//;;
											}
											//;;
										}
										//;;
									}
									//;;
								}
								//;;
							}
							//;;
						}
						//;;
					}
					//;;
				}
				//;;
			}
			//;;
		}
		// СформироватьТаблицуБазыРаспределения()
		// Функция рассчитывает базы распределения одновременно для нескольких видов учета.
		//

		public object СформироватьТаблицуБазыРаспределенияЗатрат(/*
	СтруктураШапкиДокумента,
	ИсходнаяСтруктураПараметров,
	ТаблицаСпособыРаспределения
	*/)
		{
			//ТаблицаРезультата = СформироватьПустуюТаблицуБазыРаспределения();
			if(true/*Не СтруктураШапкиДокумента.ОтражатьВУправленческомУчете 
	   И Не СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете
	   И Не СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
			}
			if(true/*ТаблицаСпособыРаспределения.Количество()=0*/)
			{
			}
			//НачГраница = Новый Граница(НачалоМесяца(СтруктураШапкиДокумента.Дата), ВидГраницы.Включая);
			//КонГраница = Новый Граница(КонецМесяца (СтруктураШапкиДокумента.Дата), ВидГраницы.Включая);
			//НачДата    = НачалоМесяца(СтруктураШапкиДокумента.Дата);
			//КонДата    = КонецМесяца (СтруктураШапкиДокумента.Дата);
			//СтруктураШапкиДокумента.Вставить("Период", СтруктураШапкиДокумента.Дата);
			//СтруктураШапкиДокумента.Вставить("мНачДата", НачДата);
			//СтруктураШапкиДокумента.Вставить("мКонДата", КонДата);
			//СтруктураШапкиДокумента.Вставить("мНачГраница", НачГраница);
			//СтруктураШапкиДокумента.Вставить("мКонГраница", КонГраница);
			//СтруктураШапкиДокумента.Вставить("ОтражатьВМеждународномУчете", Ложь);
			//ЕстьПодразделениеВДокументе = ИсходнаяСтруктураПараметров.Свойство("Подразделение");
			//СтруктураШапкиДокумента.Вставить("ЕстьПодразделениеВДокументе", ЕстьПодразделениеВДокументе);
			//СтруктураПараметров = СформироватьСтруктуруПараметровРасчетаБазыРаспределения(СтруктураШапкиДокумента);
			if(true/*ИсходнаяСтруктураПараметров.Свойство("ЕстьБазаРаспределенияПоСтоимости")*/)
			{
				//СтруктураПараметров.Вставить("ЕстьБазаРаспределенияПоСтоимости");
			}
			if(true/*ИсходнаяСтруктураПараметров.Свойство("ЕстьБазаПоОбъемуПродаж")*/)
			{
				//СтруктураПараметров.Вставить("ЕстьБазаПоОбъемуПродаж");
			}
			//ЗаполнитьЗначенияСвойств(СтруктураПараметров, ИсходнаяСтруктураПараметров);
			//МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			/*// РаспределениеКосвенныхЗатрат
*/
			/*МенеджерВременныхТаблиц
	);*/
			//СтруктураПостроителиЗапроса = Новый Структура;
			/*//Для каждого Строка из ТаблицаСпособыРаспределения цикл
*/
			//ТаблицаРезультата.ЗаполнитьЗначения(СтруктураПараметров.ОтражатьВУправленческомУчете, 	"ОтражатьВУправленческомУчете");
			//ТаблицаРезультата.ЗаполнитьЗначения(СтруктураПараметров.ОтражатьВБухгалтерскомУчете, 	"ОтражатьВБухгалтерскомУчете");
			//ТаблицаРезультата.ЗаполнитьЗначения(СтруктураПараметров.ОтражатьВНалоговомУчете, 		"ОтражатьВНалоговомУчете");
			return null;
		}
		// СформироватьТаблицуБазыРаспределенияЗатрат()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРАМ БАЗА РАСПРЕДЕЛЕНИЯ ЗАТРАТ
		// Процедура формирует движение по регистру сведений "База распределения затрат".
		//
		// Параметры
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа "Расчет себестоимости"
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	АналитикаВидаУчета - СправочникСсылка.КлючиАналитикиВидаУчета - Ключ аналитики
		//	АналитикаРаспределенияЗатрат - СправочникСсылка.КлючиАналитикиРаспределенияЗатрат - Ключ аналитики
		//	АналитикаУчетаПартий - СправочникСсылка.КлючиАналитикиУчетаПартий - Ключ аналитики
		//	СпособРаспределенияЗатрат - СправочникСсылка.СпособыРаспределенияЗатратНаВыпуск - Текущий способ распределения затрат
		//	ИндексБазыРаспределения - Число - Индекс базы распределения
		//	РаспределениеКосвенныхЗатрат - Булево - Признак расчета базы распределения косвенных затрат
		//	ЭтоРасчетСебестоимостиВыпуска - Булево - Признак формирования движений документом "Расчет себестоимости"
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	НаборЗаписейБазаРаспределенияЗатрат - РегистрСведенийНаборЗаписей - Набор записей регистра сведений "База распределения затрат".
		//

		public void СформироватьДвиженияПоРегиструБазаРаспределенияЗатрат(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	АналитикаВидаУчета,
	АналитикаРаспределенияЗатрат,
	АналитикаУчетаПартий,
	СпособРаспределенияЗатрат,
	ИндексБазыРаспределения,
	РаспределениеКосвенныхЗатрат,
	ЭтоРасчетСебестоимостиВыпуска,
	ВидОтраженияВУчете,
	НаборЗаписейБазаРаспределенияЗатрат
	*/)
		{
			//НоваяСтрока = НаборЗаписейБазаРаспределенияЗатрат.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.Период;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете*/)
			{
				//НоваяСтрока.Подразделение = СтрокаВыборки.Подразделение;
			}
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//НоваяСтрока.АналитикаВидаУчета = АналитикаВидаУчета;
				//НоваяСтрока.АналитикаРаспределенияЗатрат = АналитикаРаспределенияЗатрат;
				//НоваяСтрока.АналитикаУчетаПартий = АналитикаУчетаПартий;
			}
			//НоваяСтрока.База = Окр(СтрокаВыборки.База, 3, 1);
			//НоваяСтрока.БазаПриход = Окр(СтрокаВыборки.БазаПриход, 3, 1);
			//НоваяСтрока.БазаОстатокНЗП = Окр(СтрокаВыборки.БазаОстатокНЗП, 3, 1);
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.СчетУчета = СтрокаВыборки.СчетУчетаНУ;
				//НоваяСтрока.БазаНУ = Окр(СтрокаВыборки.БазаНУ, 3, 1);
				//НоваяСтрока.БазаПриходНУ = Окр(СтрокаВыборки.БазаПриходНУ, 3, 1);
				//НоваяСтрока.БазаОстатокНЗПНУ = Окр(СтрокаВыборки.БазаОстатокНЗПНУ, 3, 1);
			}
			//НоваяСтрока.СпособРаспределенияЗатрат = СпособРаспределенияЗатрат;
			//НоваяСтрока.РаспределениеКосвенныхЗатрат = РаспределениеКосвенныхЗатрат;
			//НоваяСтрока.РасчетСебестоимостиВыпуска = ЭтоРасчетСебестоимостиВыпуска;
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете
	 ИЛИ ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
			{
				//НоваяСтрока.ИндексБазыРаспределения = ИндексБазыРаспределения;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейБазаРаспределенияЗатрат.Количество() = 1000*/)
			{
				//НаборЗаписейБазаРаспределенияЗатрат.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструБазаРаспределенияЗатрат()
		// Функция формирует запрос по документу "Установка базы распределения затрат".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по документу
		//

		public object СформироватьЗапросПоДокументуУстановкиБазы(/*
	СтруктураШапкиДокумента
	*/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	БазаРаспределения.Ссылка.Организация КАК Организация,
	|	БазаРаспределения.Подразделение КАК Подразделение,
	|	БазаРаспределения.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
	|	БазаРаспределения.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
	|	БазаРаспределения.Заказ КАК Заказ,
	|	БазаРаспределения.Заказ КАК ЗаказРегл,
	|	
	|	БазаРаспределения.Продукция КАК Продукция,
	|	БазаРаспределения.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
	|	БазаРаспределения.СерияПродукции КАК СерияПродукции,
	|	БазаРаспределения.Спецификация КАК Спецификация,
	|	
	|	БазаРаспределения.СчетЗатрат КАК СчетЗатрат,
	|	БазаРаспределения.СчетЗатратНУ КАК СчетЗатратНУ,
	|	БазаРаспределения.СчетЗатрат КАК СчетУчета,
	|	БазаРаспределения.СчетЗатратНУ КАК СчетУчетаНУ,
	|	
	|	БазаРаспределения.ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА БазаРаспределения.ВидВыпуска = ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.ПустаяСсылка) ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	ИНАЧЕ
	|		БазаРаспределения.ВидВыпуска
	|	КОНЕЦ КАК ВидВыпуска,
	|	
	|	СУММА(БазаРаспределения.БазаПриход) КАК БазаПриходНУ,
	|	СУММА(БазаРаспределения.База) КАК БазаНУ,
	|	СУММА(БазаРаспределения.БазаОстатокНЗП) КАК БазаОстатокНЗПНУ,
	|	
	|	СУММА(БазаРаспределения.БазаПриход) КАК БазаПриход,
	|	СУММА(БазаРаспределения.База) КАК База,
	|	СУММА(БазаРаспределения.БазаОстатокНЗП) КАК БазаОстатокНЗП
	|ИЗ
	|	Документ.УстановкаБазыРаспределенияЗатрат.БазаРаспределения КАК БазаРаспределения
	|ГДЕ
	|	БазаРаспределения.ССылка = &ДокументСсылка
	|
	|СГРУППИРОВАТЬ ПО
	|	БазаРаспределения.Ссылка.Организация,
	|	БазаРаспределения.Подразделение,
	|	БазаРаспределения.ПодразделениеОрганизации,
	|	БазаРаспределения.НоменклатурнаяГруппа,
	|	БазаРаспределения.Заказ,
	|	
	|	БазаРаспределения.Продукция,
	|	БазаРаспределения.ХарактеристикаПродукции,
	|	БазаРаспределения.СерияПродукции,
	|	БазаРаспределения.Спецификация,
	|	
	|	БазаРаспределения.СчетЗатрат,
	|	БазаРаспределения.СчетЗатратНУ,
	|	
	|	БазаРаспределения.ВариантВыпускаПродукции,
	|	ВЫБОР КОГДА БазаРаспределения.ВидВыпуска = ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.ПустаяСсылка) ТОГДА
	|		ЗНАЧЕНИЕ(Перечисление.ВидыВыпуска.Выпуск)
	|	ИНАЧЕ
	|		БазаРаспределения.ВидВыпуска
	|	КОНЕЦ
	|
	|УПОРЯДОЧИТЬ ПО
	|	Организация,
	|	Подразделение,
	|	ПодразделениеОрганизации,
	|	НоменклатурнаяГруппа,
	|	Заказ,
	|	Продукция,
	|	ХарактеристикаПродукции,
	|	СерияПродукции,
	|	Спецификация,
	|	СчетЗатрат,
	|	СчетЗатратНУ,
	|	ВариантВыпускаПродукции,
	|	ВидВыпуска
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ДокументСсылка", СтруктураШапкиДокумента.Ссылка);
			return null;
		}
		// СформироватьЗапросПоДокументуУстановкиБазы()
		// Процедура формирования движений по отражению базы распределения затрат "Вручную".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//

		public void СформироватьДвиженияПоБазеРаспределенияЗатратВручную(/*
	СтруктураШапкиДокумента
	*/)
		{
			//Запрос = СформироватьЗапросПоДокументуУстановкиБазы(СтруктураШапкиДокумента);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//СтруктураНаборыЗаписей = Новый Структура;
			//СоответствиеИменРегистров = Новый Соответствие;
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//СоответствиеИменРегистров.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете, "БазаРаспределенияЗатрат");
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				//СоответствиеИменРегистров.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете, "БазаРаспределенияЗатратБухгалтерскийУчет");
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете
	   И Не СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//СоответствиеИменРегистров.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете, "БазаРаспределенияЗатратНалоговыйУчет");
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВМеждународномУчете
	   И Не СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//СоответствиеИменРегистров.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВМеждународномУчете, "БазаРаспределенияЗатратМеждународныйУчет");
			}
			//СтруктураКлючиАналитики = Новый Структура;
			//Выборка = РезультатЗапроса.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				/*// Цикл по всем видам отражения в учете, для которых рассчитывается база распределения.
*/
			}
			/*;
	
	УправлениеЗатратамиДвиженияПоРегистрам.ЗаписатьНаборыЗаписейРегистров(СтруктураНаборыЗаписей);*/
		}
		// СформироватьДвиженияПоБазеРаспределенияЗатратВручную()
	}
}
